Initialisierung eines Teilobjekts
-
Ich habe eine Klasse B, die zwei Objekte enthaelt.
class A; class B { protected: A a; double xB; }; class A { public: A(); protected: double xA; };
Ich moechte nun mit dem einen Object xB, ein Teilobjekt xA des anderen Objects A initialisieren. Das ganze sieht vom Konzept dann etwa so aus(funktioniert so natuerlich nicht)
[cpp]A::A()
:xA(xB)
{ }[/cpp]
Wie mach ich das am elegantesten, ohne einen Konstruktor der Klasse A, der die entsprechenden Parameter entgegennimmt zu definieren?
-
Jede Klasse kann ihre Memberobjekte nur selbst initialisieren.
-
Das heisst ich muss einen passenden Ctor bereitstellen?
-
Was hast du gegen Konstruktoren?
Vor allem, wie weißt du anderweitig von welchem B die Werte sein sollen?
-
finix schrieb:
Was hast du gegen Konstruktoren?
Ich will nur nicht, das jeder xbeliebige User xA mit seinem double-Wert initialisiert. xA soll immer mit xB initialisiert werden.