//tworzenie obiektow, konstuktor parametryczny, kopiujacy, klasy w klasie #include #include #include #include class TMaszynownia { int maxvnawodna; int maxvpodwodna; int pojemnoscaku; public: TMaszynownia (TMaszynownia &m) { maxvnawodna = m.maxvnawodna; maxvpodwodna=m.maxvpodwodna; pojemnoscaku = m.pojemnoscaku; } TMaszynownia (int nw, int pw, int pa) : maxvnawodna (nw), maxvpodwodna (pw), pojemnoscaku (pa) { } void Wyswietl() { printf ("Max v nadwodna = %d\nMax v podwodna = %d\nPojemnosc akumulatora = %d Ah \n", maxvnawodna, maxvpodwodna,pojemnoscaku); } int ZwrocVnawodna () { return maxvnawodna; } int ZwrocVpodwodna () { return maxvpodwodna; } int ZwrocPojemnoscAku () { return pojemnoscaku; } }; class TPrzedzialTorpedowy { int wyrzutniedziobowe; int wyrzutnierufowe; int zmagazynowanetorpedy; public: TPrzedzialTorpedowy (TPrzedzialTorpedowy &t) { wyrzutniedziobowe = t.wyrzutniedziobowe; wyrzutnierufowe = t.wyrzutnierufowe; zmagazynowanetorpedy = t.zmagazynowanetorpedy; } TPrzedzialTorpedowy (int wd, int wr, int lt) : wyrzutniedziobowe (wd), wyrzutnierufowe (wr), zmagazynowanetorpedy (lt) { } void Wyswietl () { printf ("Ilosc wyrzutni dziobowych - %d\nIlosc wyrzutni rufowych - %d\nIlosc zmagazynowanych torped - %d \n", wyrzutniedziobowe,wyrzutnierufowe, zmagazynowanetorpedy ); } int ZwrocWyrzutnieDziobowe () { return wyrzutniedziobowe; } int ZwrocWyrzutnieRufowe () { return wyrzutnierufowe; } int ZwrocZmagazynowaneTorpedy () { return zmagazynowanetorpedy; } }; class TOkret { char nazwa [50]; char kraj [50]; int maxzanurzenie; TMaszynownia Maszynow; TPrzedzialTorpedowy PrzedzialTorp; public: TOkret ( char* nazwa_statku, char* nazwa_kraju, int zanurzenie, TMaszynownia maszynownia, TPrzedzialTorpedowy przedzial_torpedowy) : Maszynow (maszynownia), PrzedzialTorp (przedzial_torpedowy), maxzanurzenie (zanurzenie) { strcpy (nazwa,nazwa_statku); strcpy (kraj,nazwa_kraju); } void Wyswietl () { printf ("nazwa statku - %s\nnazwa kraju - %s\njak bardzo zanurzony - %d \n", (char*)&nazwa, (char*)&kraj, maxzanurzenie); Maszynow.Wyswietl (); PrzedzialTorp.Wyswietl (); } }; int main(int argc, char *argv[]) { TMaszynownia MaszynowniaUSS(120, 240, 3400); TPrzedzialTorpedowy PrzedzialTorpedowyUSS(100, 300, 600); TOkret Okret("Pancernik", "Emiraty Arabskie", 2000, MaszynowniaUSS, PrzedzialTorpedowyUSS); TOkret Pancernik_2 = Okret; Okret.Wyswietl(); printf ("\n"); Pancernik_2.Wyswietl(); _getch(); return 0; }