vererbungsfrage ...



  • hi,
    wie koennte ich folgendes bewerkstelligen:

    ich habe eine bestimmte klassenhirarchie, die z.B. einige Ebenen tief ist.
    Nun habe ich eine Liste, in der Objekte vom Typ der Wurzel meines Hirarchiebaumes sind.

    nun habe ich das problem dass ich fuer bestimmte Objekte in meiner Liste wissen muss, von welcher Klasse sie "mindestens" abgeleitet sind (siehe folgendes beispiel):

    z.B. Klassenhirarchie so:

    A
    |
    ------
    B C
    |
    -----
    D E

    Liste beinhaltet Objekte vom Typ A. Nur fuer bestimmte Objekte muss ich wissen
    ob sie z.B. "mindestens ein Objekt der Klasse C sind, weil ich nur dann beispielsweise eine bestimmte Funktion aufrufen kann.

    wie kann man sowas rausfinden??

    vielen dank.
    gruss.



  • Morgen,

    warum arbeitest du nicht mit virtuellen Memberfunctions?

    mfg
    v R



  • du meinst ich sollte fuer die "oberste" Klasse alle member-funktionen die ich "irgendwann" weiter unten in der klassenhirarchie mal brauchen werde als virtual kennzeichnen!?



  • Dieses "mindestens" findest du mit dynamic_cast heraus. Virtuelle Funktionen funktionieren nicht, wenn die Basisklasse die Teile einfach nicht hat.
    Wenn du oft dynamic_cast brauchen solltest, ist es aber besser, du überdenkst dein Design noch mal.


Anmelden zum Antworten