Sprawdzanie klasy macierzystej

0

Załóżmy że ma klasy dziedziczące po sobie:

Zwierz -> Pies -> Pudel
-> Jamnik
-> Ptak -> Wróbel
-> Orzeł

i funkcję, której argumentem jest obiekt (lub wskaźnik do niego) klasy Zwierz. Jak w tej funkcji sprawdzić, czy przekazany argument jest klasy Pies albo Ptak?

0

Operator dynamic_cast lub typeid

0

Tylko czy jesli do funkcji przekażę obiekt Pudel, to sprawdzę tym, czy jest to Pies?

0

A po co? Przeca pudel dziedzicy od pies - tego nie musisz sprawdzać, to wiesz.

0

Oczywiscie mozesz uzyc typeid, ale to jest dokladnie zaprzeczenie polimorfizmu, po co pisac funkcje do ktorej mozna wyslac wskaznik do klasy dziedziczonej, lub pochodniej skoro i tak trzeba tam sprawdzic jaki argument dostala ? Lepiej juz napisac dwie oddzielne funkcje, lub klase zwierz zrobic jako abstrakcyjna (bo osobiscie nie widzialem obiektu kalsy zwierz :P).

To tylko taka porada :) :P

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