Funktion aus "parallem" Objekt aufrufen oder: Compiler zwingen, eine Memberfunktion aufzurufen
-
hallo,
hab ein Saudummes problem:
mehrere Klassen, wobei alle von einer abgeleitet sindmother / | \ child_1 child_2 ... child_Problemchild_Problem: erwartet bei der Erzeugung einen Zeiger auf "mother".
child_x erzeugt nun ein Objekt vom Typ "child_Problem" und übergibt einen Zeiger
auf sich selbst (ja, auch Kinder können Mütter sein ;-), wodurch child_Problem
auf child_x zugreifen kann.Problem:
child_x erweitert mother um eine Funktion foo_x();Wie ruf ich diese Funktion jetzt von child_Problem aus auf?
logischerweise meckert der Compiler,
da child_Problem ja nur einen Zeiger auf "mother", nicht aber auf "child_x" hat
und somit foo_x() nicht bekannt ist.Ein typecast wäre vermutlich die allereinfachste Lösung,
nur hat mal ein child_x ein child_Problem-Objekt, mal ein child_y ein child_Problem-Objekt.Somit fällt der cast flach.
Zusammenfassung:
wie zwinge ich den Compiler, dass er mir blind vertraut und foo_x() einfach
aufruft, auch wenn er dabei Bauchweh kriegt?Thx
Martin
-
- Bösen Cast machen wenn du genau weißt was du hast?
- Sag ihm über ein Template was sein Mutter-Typ istMfG SideWinder
-
SideWinder schrieb:
- Bösen Cast machen wenn du genau weißt was du hast?
- Sag ihm über ein Template was sein Mutter-Typ istStümmt...
templates hören sich gut an

Danke