automatische Member initalisierung nach Konstruktor?
-
folgends:
class A{ A(){ this->add(...); } void add(..){ } };Nun ja, wenn ich ein objekt von A erzeuge, sollen zusätlich A objekte als unter Objekt zu A erzeugt werden. Problem ist nur, das ich erst unterobjekt ertzeugen kann wenn A basis objekt erzeugt ist, was aber erst nach dem kosntrutkor der fall ist.
Bisher muss ich das A objekt erzeugen, und dann über reine extra methode bzw. extra aufruf die unterobjekte erzeugen..
Gibt es eine möglich keit das A nach seiner erzeuge eine mehtode aufruf umd seine unterobjekte zu erzeugen?
-
Wo genau ist jetzt das Problem? Im Ctor-Rumpf von A hast du ein vollständig konstruiertes A-Objekt vorliegen, mit dem du arbeiten kannst. Das könnte höchstens Probleme geben, wenn du mit virtuellen Methoden arbeitest, die in abgeleiteten Klassen neudefiniert werden:
class A { virtual void add(...); A() { add(...); } //ruft immer die Basis-Version von add() auf };
-
Das heist.....
class A{ A(){ // .. hier ist A schon vollständig erzeug this->add(...); } void add(..){ } };WEn ich genau drüber nachdenke ist das ja auch logisch;)