Wywolanie obu metod z klasy bazowej i dziedziczonej
Ostatnio zmodyfikowano 2015-01-15 16:45
Nowicjusz Temat założony przez niniejszego użytkownika |
Wywolanie obu metod z klasy bazowej i dziedziczonej » 2015-01-14 20:20:42 Czy jest jakiś sposób na to aby wywołać jednocześnie metodę z klasy bazowej i dziedziczonej ? Oczywiście bez wrzucania na siłę do metody obiektu którejś klasy. |
|
killermannnnn |
» 2015-01-14 20:29:47 Jeśli dobrze zrozumiałem to chcesz wywołać metodę z klasy podstawowej w metodzie klasy pochodnej ? |
|
Nowicjusz Temat założony przez niniejszego użytkownika |
» 2015-01-14 20:35:21 Chce zrobić coś na takiej zasadzie: class B;
class A : public B { public: void funkcja() { cout << "Klasa A"; } };
class B { public: void funkcja() { cout << "Klasa B"; } };
int main() { B * b = new A; b->funkcja(); }
|
|
killermannnnn |
» 2015-01-14 20:50:08 Da sie w druga stronę robiąc coś takiego (jesli o to ci chodziło): class A : public B { public: void funkcja() { cout << "Klasa A"; B::funkcja(); } }; Ale wywołanie funkcji klasy pochodnej z klasy dziedzicznej chyba nie jest możliwe (bez wstawiania tam obiektu). |
|
michal11 |
» 2015-01-15 02:25:58 To jest raczej niemożliwe, skąd klasa B ma widzieć kogo dziedziczy ?
Btw. do czego jest ci to potrzebne ?
Dobra, źle zrozumiałem, wystarczy, że skorzystasz z polimorfizmu class B;
class A : public B { public: void funkcja() { B::funkcja(); cout << "Klasa A"; } };
class B { public: virtual void funkcja() { cout << "Klasa B"; } };
int main() { B * b = new A; b->funkcja(); }
|
|
darko202 |
» 2015-01-15 07:56:51 :: operator zasięgu #include <iostream> using namespace std;
class B { public: void funkcja() { cout << "Klasa B \n"; } };
class A : public B { public: void funkcja() { cout << "Klasa A \n"; } };
int main() { A a; a.funkcja(); a.B::funkcja(); A * ptra = & a; ptra->funkcja(); ptra->B::funkcja(); }
|
|
Nowicjusz Temat założony przez niniejszego użytkownika |
» 2015-01-15 16:43:58 Wykonywanie sie jednoczesnie dwóch metod potrzebne mi bylo przy pewnym zdarzeniu ktorego metoda zostala zdefiniowana w klasie pochodnej i ma zostac niezmienna. Natomiast klas bazowych jest wiele ktore rowniez w sobie zawieraja ta metode tylko w zaleznosci od klasy jest ona inaczej zdefiniowana. A zatem chcialem aby przy wykonaniu sie tego zdarzenia uruchomila sie metoda z klasy pochodnej i odpowiedniej bazowej.
Dobra sprobuje zrobic tak jak zasugerowaliscie skoro inaczej sie nie da. |
|
michal11 |
» 2015-01-15 16:45:43 Edytowałem swój poprzedni post, chyba o to ci chodziło. |
|
« 1 » |