Advertisement
CzarnyBarszcz

Untitled

Dec 12th, 2020
817
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6.  
  7. class adres
  8. {
  9.      string miasto,kod_p,ulica;
  10.      int nr_bud;
  11.     public:
  12.      adres():miasto("Brak"),kod_p("Brak"),ulica("Brak"),nr_bud(0){}
  13.      adres(string miasto,string kod_p, string ulica, int nr_bud)
  14.      {
  15.         this->miasto = miasto;
  16.         this->ulica = ulica;
  17.         this->kod_p = kod_p;
  18.         this->nr_bud = nr_bud;
  19.      }
  20.       friend ostream& operator<<(ostream&, adres &adres1)
  21.       {
  22.         cout<<adres1.miasto<<"\t";
  23.         cout<<adres1.ulica<<"\t";
  24.         cout<<adres1.kod_p<<"\t";
  25.         cout<<adres1.nr_bud<<"\n";
  26.       }
  27.       friend ostream& operator<<(ostream&, const adres &adres2)
  28.       {
  29.         cout<<adres2.miasto<<"\t";
  30.         cout<<adres2.ulica<<"\t";
  31.         cout<<adres2.kod_p<<"\t";
  32.         cout<<adres2.nr_bud<<"\n";
  33.       }
  34.       adres& operator =(adres org)
  35.       {
  36.         miasto = org.miasto;
  37.         ulica = org.ulica;
  38.         kod_p = org.kod_p;
  39.         nr_bud = org.nr_bud;
  40.        
  41.       }
  42. };
  43. class osoba : public adres
  44. {
  45.     string imie,nazwisko;
  46.     int wiek;
  47.     adres* adr = new adres;
  48.     public:
  49.     osoba(string imie,string nazwisko, int wiek, adres adr)
  50.     {
  51.         this->imie = imie;
  52.         this->nazwisko = nazwisko;
  53.         this->wiek = wiek;
  54.         adr = adr;
  55.     }
  56.     osoba(): imie("Brak"),nazwisko("Brak"),wiek(0){}
  57.     friend ostream& operator <<(ostream&, osoba &o)
  58.     {
  59.         cout<<o.imie<<"\t";
  60.         cout<<o.nazwisko<<"\t";
  61.         cout<<o.wiek<<"\t";
  62.         cout<<o.adr;
  63.     }
  64.     osoba& operator =(osoba org)
  65.     {
  66.         imie = org.imie;
  67.         nazwisko = org.nazwisko;
  68.         wiek = org.wiek;
  69.         adr = org.adr;     
  70.     }
  71.     ~osoba()
  72.     {
  73.         delete adr;
  74.     }
  75. };
  76.  
  77. int main()
  78. {
  79. adres* wsk = new adres("Czestochowa", "42-200", "Dabrowskiego", 73);
  80. cout << *wsk << '\n';
  81. adres a1(*wsk);
  82. delete wsk;
  83. const adres* wsk1 = new adres("Warszawa", "00-950", "Mysliwiecka", 357);
  84. cout << a1 << '\n';
  85. cout << *wsk1 << '\n';
  86. adres a2;
  87. cout << a2 << '\n';
  88. a2 = a1;
  89. cout << a2 << '\n';
  90. osoba o("Jan", "Kos", 25, *wsk1);
  91. cout << o << '\n';
  92. osoba o1(o);
  93. cout << o1 << '\n';
  94. osoba o2;
  95. cout << o2 << '\n';
  96. o2 = o1;
  97. cout << o2 << '\n';
  98. delete wsk1;
  99.  
  100.     return 0;
  101. }
  102.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement