Objekt als MemberVariable (ohne std Constructor)
-
Hallo,
Was mich schon immer mal interessiert hätte:
Angenommen man definiert eine Klasse ohne std Constructor:
zB:
class ClassA { public: ClassA(int i) virtual ~ClassA() };
und man möchte jetzt in einer weiteren Klasse eine MemberVariable (und zwar keinen Pointer, so mach ichs nämlich selbst) dieser ClassA deklarieren:
class ClassB { public: ClassB() virtual ~ClassB() ClassA member_var_; };
Da dies natürlich so net geht, würd mich interessieren, wie man dies syntaktisch richtig löst.
-
Das geht schon. Du mußt nur den Konstruktor von B richtig implementieren. Nämlich dort den Konstruktor von A aufrufen:
B::B() : member_var_(3) { // restlicher Konstruktor, u.U. leer }
MfG Jester
-
Aha, ich dachte, das funktioniert nur bei abgeleiteten Klassen. (IS_A_RELATION)
Is eigentlich logisch, dass es so zu funtzen hat. (bei ner HAS_A_RELATION)
Danke zoni