Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- class adres
- {
- string miasto,kod_p,ulica;
- int nr_bud;
- public:
- adres():miasto("Brak"),kod_p("Brak"),ulica("Brak"),nr_bud(0){}
- adres(string miasto,string kod_p, string ulica, int nr_bud)
- {
- this->miasto = miasto;
- this->ulica = ulica;
- this->kod_p = kod_p;
- this->nr_bud = nr_bud;
- }
- friend ostream& operator<<(ostream&, adres &adres1)
- {
- cout<<adres1.miasto<<"\t";
- cout<<adres1.ulica<<"\t";
- cout<<adres1.kod_p<<"\t";
- cout<<adres1.nr_bud<<"\n";
- }
- friend ostream& operator<<(ostream&, const adres &adres2)
- {
- cout<<adres2.miasto<<"\t";
- cout<<adres2.ulica<<"\t";
- cout<<adres2.kod_p<<"\t";
- cout<<adres2.nr_bud<<"\n";
- }
- adres& operator =(adres org)
- {
- miasto = org.miasto;
- ulica = org.ulica;
- kod_p = org.kod_p;
- nr_bud = org.nr_bud;
- }
- };
- class osoba : public adres
- {
- string imie,nazwisko;
- int wiek;
- adres* adr = new adres;
- public:
- osoba(string imie,string nazwisko, int wiek, adres adr)
- {
- this->imie = imie;
- this->nazwisko = nazwisko;
- this->wiek = wiek;
- adr = adr;
- }
- osoba(): imie("Brak"),nazwisko("Brak"),wiek(0){}
- friend ostream& operator <<(ostream&, osoba &o)
- {
- cout<<o.imie<<"\t";
- cout<<o.nazwisko<<"\t";
- cout<<o.wiek<<"\t";
- cout<<o.adr;
- }
- osoba& operator =(osoba org)
- {
- imie = org.imie;
- nazwisko = org.nazwisko;
- wiek = org.wiek;
- adr = org.adr;
- }
- ~osoba()
- {
- delete adr;
- }
- };
- int main()
- {
- adres* wsk = new adres("Czestochowa", "42-200", "Dabrowskiego", 73);
- cout << *wsk << '\n';
- adres a1(*wsk);
- delete wsk;
- const adres* wsk1 = new adres("Warszawa", "00-950", "Mysliwiecka", 357);
- cout << a1 << '\n';
- cout << *wsk1 << '\n';
- adres a2;
- cout << a2 << '\n';
- a2 = a1;
- cout << a2 << '\n';
- osoba o("Jan", "Kos", 25, *wsk1);
- cout << o << '\n';
- osoba o1(o);
- cout << o1 << '\n';
- osoba o2;
- cout << o2 << '\n';
- o2 = o1;
- cout << o2 << '\n';
- delete wsk1;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement