innerhalb der klasse keine extended-constructor
-
N'Abend,
ich wollte folgenden code compilieren:
class a { private: //... public: a(int index) {} }; class b { private: //funktioniert a nummer_eins; // das funktioniert nicht a nummer_zwei(0); };wieso kann ich innerhalb einer klasse kein element einer anderen klasse mit einem extended-constructor aufrufen? gibt es da überhaupt eine möglichkeit?
mfg freaker
-
Du musst das Objekt in der Initalisierungsliste initialisieren, schaut so aus:
class b { private: A objA; public: b(): objA(445) { } };
-
Das geht mit einer Initialisierungsliste:
#include <iostream> using namespace std; class a { public: a() { cout << "a konstruiert." << endl; }; a(int arg) { cout << "a mit " << arg << " konstruiert." << endl; }; }; class b { private: a obj; public: b():obj(0) { cout << "b konstruiert." << endl; }; }; int main(int argc, char** argv) { b b_obj; return 0; };
-
ich danke euch für eure hilfe