Vererbung
-
Hallo.
Ich habe ein Problem mit Vererbung. Es wird einfach nicht die Methode aufgerufen die ich will. Mal ein Beispiel:
class Vater { public: Vater(); virtual ~Vater(); virtual int GibAlter(); }; class Sohn : public Vater { public: Sohn(); virtual ~Sohn(); virtual int GibAlter(); }; class Tochter : public Vater { public: Tochter(); virtual ~Tochter(); virtual int GibAlter(); };
So, das sind jetzt beispielsweise die Klassen. In meinem Programm erzeuge ich mir jetzt einen Zeiger auf die Vater-Klasse und will dann abhängig von einem Wert Sohn oder Tochter haben.
. . . Vater *pClass = NULL; switch (mode) { case SOHN: pClass = new Sohn; break; case TOCHTER: pClass = new Tochter; break; default: return -1; }; int nAlter = pClass->GibAlter();
Leider wird immer die GibAlter()-Methode der Vater-Klasse aufgerufen und ich weiß nicht woran das liegt.
please help me
-
class Sohn : public Vater class Tochter : public Vater
Was machst du denn da für ne Kacke?
-
ableiten
-
-
aha,
ein Sohn *ist ein* Vater
eine Tochter *ist ein* Vater.rofl.
-
war ja nur ein beispiel.
Aber hat sich erledigt, habs gefunden
-
Solche schlechten Beispiele postet man nicht in ein öffentliches Forum.
Auf einmal guckt sich das ein Neuling ab...
-
kack3 schrieb:
aha,
ein Sohn *ist ein* Vater
eine Tochter *ist ein* Vater.rofl.
Ein Sohn kann doch ein Vater sein.
-
Hi!
Wenn dann eher andersrum, aber Tochter steht wohl kaum in irgendeiner Beziehung zu Vater. Jeder Vater ist aber ein Sohn:
class Sohn
class Vater : public SohnCode-Hacker
-
looool, ich glaube Horst2 meinte das der Sohn/die Tochter irgendwas vom Vater vererbt hat wie Krankheiten oder Geld.
-
geerbt meinte ich
-
Optimizer schrieb:
kack3 schrieb:
aha,
ein Sohn *ist ein* Vater
eine Tochter *ist ein* Vater.rofl.
Ein Sohn kann doch ein Vater sein.
Wer war zu erst da, Sohn oder Vater ? :p
Devil