Tablica wskaźników do różnych klas pochodnych

0

Witam,
chciałem się zapytać, czy poniższy fragment kodu jest prawidłowy:

    bazowa** tab = new bazowa*[10];

    tab[0] = new pochodna1;
    for(int i = 1; i < 9; i++)
        tab[i] = new pochodna2;
    tab[9] = new pochodna3;

Pytam, bo kompilator do tego miejsca nie krzyczy, ale nie mogę już wywołać funkcji zadeklarowanych klas np.

tab[0]->funkcja_klasy_pochodna1();
tab[1]->funkcja_klasy_pochodna2();

itd.
Czy jest na to jakiś sposób?
Z góry dzięki

1

static_cast jeśli masz pewność, że rzutujesz na typ zgodny z faktycznym typem obiektu dynamic_cast (mniej wydajne rozwiązanie) dla klas polimorficznych, jeśli chcesz jednocześnie sprawdzić czy obiekt który rzutujesz jest poprawnym obiektem typu, na który rzutujesz.

0

dzięki ;)

2

lepiej jest zrobić funkcje wirtualne i nie rzutować. od tego one są.

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