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


Anmelden zum Antworten