Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

c++ - dynamic_cast a rozpoznawanie z jakiej klasy (pochodnej lub bazowej) obiekt

jowyma 17 Maj 2015 20:42 477 2
  • #1 17 Maj 2015 20:42
    jowyma
    Poziom 22  

    Proszę o pomoc gdyż nie wiedzieć dlaczego nie działa poprawnie rozpoznawanie z jakiej klasy pochodzi obiekt. Stosuję dynamic_cast, ale nie działa to poprawnie. Obiekty są rozpoznawane zarówno jako obiekty swojej klasy podstawowej jak i pochodnej.
    Nie wiem czy to ja robię błąd w kodzie czy też dynamic_cast tak ma, że obiekty mające wspólną klase bazową poddają się dynamic_cast.
    Innymi słowami, jeżeli obiekt pochodzi z klasy potomnej to jest rozpoznawany, że pochodzi i z klasy Student i Pracownik i Doktorant i Czlowiek.

    Kod: cpp
    Zaloguj się, aby zobaczyć kod


    Załączam też wszystkie pliki potrzebne do kompilacji (razem z makefile).

    0 2
  • Pomocny post
    #2 17 Maj 2015 20:57
    -psiak-
    Poziom 32  

    Kod: cpp
    Zaloguj się, aby zobaczyć kod

    2
  • #3 17 Maj 2015 21:09
    jowyma
    Poziom 22  

    Czyli zaczynam od najmłodszej klasy, potem jeżeli nie pasuje to starsze i dopiero na końcu bazowa...
    Mi się w końcu udało za pomocą wirtualnej funkcji/metody, która zwraca różny numer w różnych klasach.
    Dziękuję za pomoc.

    0