Elvis_ Opublikowano 14 Listopada 2004 Zgłoś Opublikowano 14 Listopada 2004 czesc mam kilka pytan zwizanych z c++: 1) co oznacze przy deklaracji funkcji w klasie slowko virtual? public:virtual double Pole(); co to oznacza dla klas pochodznych od tej? 2) przyklad &operator+= (const przyklad &ab){ return *this = funkcja(ab);};co dokladnie ta funkcja zwraca? Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
spicum Opublikowano 15 Listopada 2004 Zgłoś Opublikowano 15 Listopada 2004 Co prawda w c++ z 2 lata nie napisalem linijki ale z tego co pamietam" 1. virtual to po prostu funkcja wirtualna do mechanizmu polimorfizmu. chodzilo z grubsza o to ze kompilator widzac wywolanie typu objekt.Pole(); sprawdzi klase dla instancji objektu a nastepnie dla niej wywola dopowiednia funkcje Pole(). np class Window // Base class for C++ virtual function example { public: virtual void Create() // virtual function for C++ virtual function example { cout <<"Base class Window"<<endl; } }; class CommandButton : public Window { public: void Create() { cout<<"Derived class Command Button - Overridden C++ virtual function"<<endl; } }; void main() { Window *x, *y; x = new Window(); x->Create(); y = new CommandButton(); y->Create(); } wyjscie Base class Window Derived class Command Button przydaje sie gdy np uzywasz objektu w kontekscie jego rodzica a potrzebujesz wywolywac funkje dzieci (o ile nadpisuja w implementacji funkcje rodzica) 2. to jest operator przypisania += czyli zwraca referencje do siebie jak robisz instancjaKlasyOpisanej+=instancjaPrzyklad; to oczywisacie wywoluje sie operator+=, patrz pod zmienna instancjaKlasyOpisanej przypisaney jest wynik dzialania funjcji funkcja(instancjaPrzyklad); mam nadzieje ze wyjasnilem o co chodzi. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Elvis_ Opublikowano 15 Listopada 2004 Zgłoś Opublikowano 15 Listopada 2004 wielkie dzieki, sporo mi to wyjasnilo Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...