[ star-Mo @ 14.12.2004. 16:38 ] @
Pozdrav * Imam jedno malo pitanjce sa jednog ispitnog roka koje bas i ne kuzim, pa ako nije problem da netko pomogne; ono sto ne kuzim oznacio sam kao komentar u kodu Pitanje je : Razmotrite slijedeći primjer! Code: #include <iostream> using namespace std; class Osoba //pravi klasu osoba { public: void Ispis() //metoda pristupa(funkcija clanica ) klase osoba { cout << "Ispis iz Osoba" << endl; } }; class Uposlenik: public Osoba /* izvedena klasa Uposlenik, osnovna klasa je Osoba tip nasljedjivanja/izvodjenja je public; koliko kuzim ovo znaci da ce svi clanovi osnovne klase biti dostupni objektima izvedene klase ????*/ { public: void Ispis() { cout << "Ispis iz Uposlenik" << endl; } }; void tester1(Osoba &a) /* ovo ne kontam; molim ako moze netko da i objasni*/ { a.Ispis(); } void tester2(Osoba a) /* i ovo mi je zbunjoza ????? */ { a.Ispis(); } void main() { Osoba os; tester1(os); tester2(os); cout << "----------" << endl; Uposlenik up; tester1(up); tester2(up); } a) Šta će biti rezultat (ili greška) pokretanja prikazanog programa (dati i pojašnjenje) b) Šta bi bio rezultat programa ukoliko se funkcija "Osoba::Ispis()" deklariše ovako: virtual void Ispis() Kad ovo kompajliram dobijem output : Ispis iz Osoba Ispis iz Osoba ---------- Ispis iz Osoba Ispis iz Osoba A kad stavim virtual ( slucaj b ) output je : Ispis iz Osoba Ispis iz Osoba ---------- Ispis iz Uposlenik Ispis iz Osoba Ako ima kakva dobra dusa koja moze i zeli "otvoriti oci" meni neukom co'jeku unaprijed hvala... |