Angenommen, ich habe eine abstrakte Basisklasse Parent und Unterklassen Child1 und Child2. Wenn ich eine Funktion habe, die ein Parent * verwendet, gibt es einen Weg (vielleicht mit RTTI?), Um zur Laufzeit festzustellen, ob es ein Child1 * oder ein Child2 * ist, das die Funktion tatsächlich empfangen hat?Identifizieren einer Unterklasse mit einem Zeiger auf ihre Basisklasse?
Meine bisherige Erfahrung mit RTTI ist, dass, wenn foo ein Parent * ist, typeid (foo) typeid (Parent *) zurückgibt, unabhängig von der Kindklasse, zu der foo gehört.
Ein 'Parent *' ist immer ein 'Parent *'. Es ist * nie * ein 'Kind *'. Was Sie fragen wollen, ist "was ist die Art der Sache, auf die es zeigt". –
Kerrek SB: Ich habe dir gestern die kalte Schulter gegeben, aber als ich zur eigentlichen Programmierung kam, war dein Kommentar wahrscheinlich wertvoller als alles andere auf der Seite. Entschuldigung, dass ... – ExOttoyuhr