Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <ctime>
- using namespace std;
- class Samolot{
- public:
- Samolot (int r, int p);
- Samolot();
- void ustaw_rozmiar(int a);
- void ustaw_paliwo(int b);
- void disp_paliwo();
- void disp_rozmiar();
- void disp_dystans();
- void dodaj_paliwo(int dod);
- void oblicz_dystans();
- int get_paliwo();
- int get_rozmiar();
- int get_dystans();
- Samolot operator+(Samolot &a);
- private:
- int rozmiar, dystans, paliwo;
- };
- Samolot::Samolot(){
- rozmiar = ((rand() % 10) + 1);
- paliwo = ((rand() % 700) + 500);
- dystans = paliwo/rozmiar;
- cout << "jestem konstruktorem bez argumentow";
- }
- Samolot::Samolot(int r, int p){
- rozmiar = r;
- paliwo = p;
- if (rozmiar == 0) dystans = 0;
- else dystans = paliwo/rozmiar;
- cout << "jestem konstruktorem z argumentami";
- }
- void Samolot::ustaw_rozmiar(int a){
- rozmiar = a;
- }
- void Samolot::ustaw_paliwo(int b){
- paliwo = b;
- }
- void Samolot::disp_paliwo(){
- cout << "Paliwo wynosi : " << paliwo;
- }
- void Samolot::disp_rozmiar(){
- cout << "Rozmiar wynosi : " << rozmiar;
- }
- void Samolot::disp_dystans(){
- cout << "Dystans wynosi : " << dystans;
- }
- void Samolot::dodaj_paliwo(int dod){
- paliwo += dod;
- oblicz_dystans(); //this. czyli dla jednego konkretnego obiektu dla ktorego wywoluje funkcje
- }
- void Samolot::oblicz_dystans(){
- dystans = paliwo/rozmiar;
- }
- int Samolot::get_paliwo(){
- return paliwo;
- }
- int Samolot::get_rozmiar(){
- return rozmiar;
- }
- int Samolot::get_dystans(){
- return dystans;
- }
- Samolot Samolot::operator+ (Samolot &a){
- return Samolot(paliwo + a.get_paliwo(), (rozmiar + a.get_rozmiar())/2);
- }
- int main()
- {
- Samolot samolot_1=Samolot();
- Samolot samolot_2=Samolot(5,900);
- Samolot *wskaznik_1 = &samolot_1;
- Samolot *wskaznik_2 = &samolot_2;
- cout << "Dane na temat pierwszego samolotu : ";
- cout << "Rozmiar : "; samolot_1.disp_rozmiar();
- cout << "Paliwo : "; samolot_1.disp_paliwo();
- cout << "Dystans : "; samolot_1.disp_dystans();
- cout << endl;
- cout << "Dane na temat drugiego samolotu : ";
- cout << "Rozmiar : "; samolot_2.disp_rozmiar();
- cout << "Paliwo : "; samolot_2.disp_paliwo();
- cout << "Dystans : "; samolot_2.disp_dystans();
- cout << endl;
- cout << "Dodajemy 100 jednostek paliwa do samolotu pierwszego /n";
- samolot_1.dodaj_paliwo(100);
- cout << "Paliwo po dodaniu : "; wskaznik_1->disp_paliwo();
- cout << "Dystans po dodaniu paliwa : "; wskaznik_1->disp_dystans();
- Samolot samolot_3=Samolot(0,0);
- Samolot *wskaznik_3 = &samolot_3;
- samolot_3 = samolot_1 + samolot_2;
- cout << "Dane na temat drugiego samolotu : ";
- cout << "Rozmiar : "; wskaznik_3->disp_rozmiar();
- cout << "Paliwo : " ; wskaznik_3->disp_paliwo();
- cout << "Dystans : "; wskaznik_3->disp_dystans();
- Samolot *samolot_4 = new Samolot();
- cout << "Rozmiar : "; samolot_4->disp_rozmiar();
- cout << "Paliwo : "; samolot_4->disp_paliwo();
- cout << "Dystans : "; samolot_4->disp_dystans();
- *samolot_4 = *samolot_4 + samolot_3;
- cout << "Rozmiar : "; samolot_4->disp_rozmiar();
- cout << "Paliwo : "; samolot_4->disp_paliwo();
- cout << "Dystans : "; samolot_4->disp_dystans();
- return 0;
- }
- //komenda kompilacji - g++ -Wall -pedantic nazwa_pliku.cpp
- //komenda wywolania - ./a.out
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement