Das ist mein Beispielcode:Aufruf des Konstruktors einer anderen Klasse über die Initialisierungsliste. Haben Sie Probleme
#include <iostream>
using namespace std;
class Base
{
public:
Base (int v, char z) {x=v;y=z;};
int x;
char y;
};
class Bar
{
public:
Bar(int m, char n):q(m),s(n),base(q,s){};
Base base;
int q;
char s;
};
int main()
{
Bar barObj(5,'h');
cout << barObj.base.x << barObj.base.y << endl;
return 0;
}
Warum bin ich eine Leistung von 0
bekommen? http://ideone.com/pf47j
Auch im Allgemeinen, was ist die richtige Methode ein Element Objekt in einer anderen Klasse zu erstellen und den Konstruktor des Objekts aufrufen, wie oben mit Objektbasis class Base
, innerhalb class Bar
getan wurde?
'Basisbasis;' nicht 'Basisbasis (int v, char z);'. Lesen Sie ein richtiges Buch. –
Der Code in Ihrem Link ist anders als der Code, den Sie oben haben – mathematician1975
Zusätzlich zu dem, was Cat Plus Plus sagte, müssen Sie 'm' und' n' verwenden. 'q' und' s' wurden nicht initialisiert, bevor "Base" konstruiert wurde. – IronMensan