Klassenzugehörigkeit eines Objekts herausfinden
-
Hallo,
wie kann ich herausfinden, ob ein Objekt einer gewissen Klasse angehört?
Das Szenario ist wie folgt:
gemeinsame Klasse: CParent
eine Klasse: CFalscheKlasse, erbt von CParent
andere Klasse: CRichtigeKlasse (abstrakt), erbt auch von CParent
Kind Klassen, die jeweils von CRichtigeKlasse erben: CChild1, CChild2Jetzt hab ich einen Zeiger: CParent *zeiger;
Dieser Zeiger zeigt jetzt entweder auf ein CChild1 Objekt oder auf ein CChild2 Objekt oder auf ein CFalscheKlasse Objekt.
Wie kann ich herausfinden, ob das Objekt von CRichtigeKlasse (also Child1/2) oder CFalschKlasse ist?In der Suche hab ich leider nix gefunden... weiß nicht wirklich, welche Suchbegriffe ich nehmen soll

Vielen Dank im Voraus!
-
Hallo
hatten wir heute hier schon mal. Und auch zu dir : du solltest deine Basisklasse so designen, das du nicht wissen must, welchen Typ eine konkrete Instanz hat.
bis bald
akari
-
Ich würde nach dynamic_cast suchen

Da war doch heute schon was...
Du musst RTTI aktivieren und dann soChild* pChild = dynamic_cast<Child*>(pParent); if (pChild == NULL) //es ist kein child else es ist ein childoder so
try { Child& child = dynamic_cast<Child&>(parent); //richtige Klasse } catch(std::bad_cast_exception) //oder so ähnlich { //falsche Klasse }