在另一个类中做数据成员的对象,可以先不初始化
class A
{
B b;
}
因为在创建A类的时候,会先调用A的构造函数,同时对B类中的b对象调用他的构造函数
下面测试代码
class A
{
public:
int a;
A(int x) :a(x){};
};
class B:public A
{
private:
A b;
public:
B(int x, int y) :A(x), b(y){}
void display()
{
cout << a << endl << b.a << endl;
}
};
int main()
{
B a(1,3);
a.display();
}