Wskaźniki a dziedziczenie.

0

Witam. Mam klasę podstawową i dwie od niej pochodne. Klasa podstawowa ma składnik statyczny typu string. Pochodne klasy także, ale każda ma własną wersję (tzn string ma inną wartość). Dodatkowo definiuję sobie wskaźnik do pokazywania na klasę podstawową. Ustawiam go jednak na którąś z obiektów klas pochodnych i chcę odczytać wspomniany składnik.
Na przykład taką instrukcją:

pointer = new pochodna; // pointer to wskaźnik na obiekty klasy podstawowej

Niestety przy takiej instrukcji program nie zachowuje się tak, jak bym chciał. Kiedy później odnoszę się do wspomnianego składnika:

pointer->składnik...

to w rzeczywistości program zwraca się do tego składnika, który tkwi w klasie podstawowej. Próbowałem więc używać operatora zakresu

pointer->pochodna::składnik

,
ale to się nie udało. W jaki sposób uda mi się uzyskać ten obiekt, którego oczekuję?

0

to co chcesz uzyskac nazywa sie polimorfizm. Poczytaj o nim

3

Napisz funkcję wirtualną, która zwróci to, co chcesz. Oczywiście może ona zwracać statyczny składnik klasy, ważne, że zostanie wywołana prawidłowa funkcja.

1 użytkowników online, w tym zalogowanych: 0, gości: 1