Eine Klasse initialisieren
-
Moin.
Wäre jemand so freundlich und könnte mir aufzeigen wie man folgenden Code richtig macht?
class ABC_1
{
privat:
int a;
puplic:
ABC_1(int zahl) { return a; }
~ABC_1();
};class ABC_2
{
privat:
ABC_1 testklasse;
public:
ABC_1()
{
testklasse(5); // <<- hier möchte ich die Klasse nun inialisieren aber wie?
}
~ABC_1();
};Ich möchte also in einer zweiten Klasse eine andere mit einem Custom Konstruktor initialisieren. oder geht das nur über "new" ?
Ich hoffe jemand nimmt sich meiner an
-
ich denk dafür gibts initialisierungslisten!?
class ABC_1 { private: int a; public: ABC_1(int zahl) { a = zahl; }; ~ABC_1() { }; }; class ABC_2 { private: ABC_1 testklasse; public: ABC_2() : testklasse(5) { }; ~ABC_2() { }; };
so solltes hinhaun
-
Nein. So möchte ichs nicht. Ich habe gut 30 dieser Klassen und das sieht A "doof" aus und B will ich ABC_2 Klasse auch über einen Custom Konstrukor initialisieren und daraus dann die kommenden Klassen. Ich wollte das Bespiel nur nicht zu komplziert darstellen. Also es müsste schon IM Funktionskörper stehen.
-
viel anders wirds nicht gehn
evtl. wär eine genauere problembeschreibung hilfreich...
-
jules schrieb:
das sieht A "doof" aus
Der war gut. Heul doch!
Also es müsste schon IM Funktionskörper stehen.
Geht aber nicht. Wenn der Konstruktorrumpf ausgeführt wird, sind bereits alle Member und Basisklassenobjekte konstruiert.
-
OK, dann mach ichs über shared_ptr<>