Problem bei Vererbung
-
Hallo!
ich habe in meinem programm 2 klassen:
- artikel
- hifihifi erbt von artikel.
in einer weiteren klasse habe ich ein Array, dass pointer auf artikel verwaltet.
objekte von hifi werden auch in dem array gespeichert. das funktioniert soweit.nur habe ich jetzt eine funktion in der klasse hifi auf die ich, über das array (also pointer auf artikel), zugreifen will. und das macht er mir nicht. wie kann ich beim aufruf über das array sozusagen von artikel auf hifi casten?
hoffe mein problem ist klar geworden. ist nicht ganz einfach kurz zu erklären.
schon mal danke für die hilfe!
grüße
-
Mit dynamic_cast.
-
und wie funktioniert das?
wie heißt denn der befehl?
-
dynamic_cast<hifi> (array[index]);Klingt aber schwer nach Designfehler.
-
gut möglich, dass es ein design fehler ist! aber der prof wills halt so, dann mach ichs so

-
Wenn schon, dann so
dynamic_cast<hifi*> (array[index]);Es sind ja immerhin Pointer.

-
Wenn du ganz genau weisst, dass sich hinter dem artikel-Zeiger ein hifi-Objekt verbirgt, dann ist dynamic_cast vollkommen überflüssig. Ein simples static_cast reicht dann auch.
-
groovemaster schrieb:
Wenn du ganz genau weisst, dass sich hinter dem artikel-Zeiger ein hifi-Objekt verbirgt, dann ist dynamic_cast vollkommen überflüssig. Ein simples static_cast reicht dann auch.
polymorpic_downcast
