Odwoływanie sie wskaznikiem rodzica do funkcji w potomku

0

Witam
Mam pytanie z rodzaju czy tak sie da.
Kod wygląda mniej wiecej tak:

class jeden{
...
virtual funkcja();
...
}

class dwa:public jeden{
...
funkcja();
funkcja_ktorej_nie_ma_w_jeden();
...
}

main(){
...
jeden *wsk_jeden;
wsk_jeden = new dwa;

wsk_jeden->funkcja(); // i wszystko gra
wsk_jeden->funkcja_ktorej_nie_ma_w_jeden(); // i lipa
...
}

Też wydaje mi się, że to nie powinno zadziałać (w końcu jeśli dobrze rozumiem wskaźnik na jeden nie widzi już tej dodatkowej części kodu która się pojawia w dwa) ale jednak chciałbym te wszystkie klasy potomne które mają ze sobą sporo wspólnego umieścić w jednej tablicy wskaźników.
Czy jest jakiś sposób by to obejść?

0

Poczytaj o static_cast<>() i o dynamic_cast<>().

0

Możesz rzutować sobie po prostu na klasę dwa, ale to bardzo ryzykowne. Bo co się stanie jeśli będziesz miał obiekt klasy jeden i go zrzutujesz a potem spróbujesz wywołać metodę której nie ma?
Pomyśl jak obejść ten problem rzutowania, ew zrób wszystko na bazie polimorfizmu.

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