在C++中一个类的构造函数是否可调用另一个类的构造函数?

三楼说的是不带参数的情况吧,如果有参数的话,那样就不行了。

可以的。
例如:
class A
{
public:
A(){cout<<"class A constructor!\n";}//A的构造函数
~A(){}
};

class B
{
public:
B(){A a;}//B的构造函数
};

void main()
{
B b;//定义B的对象自动调用B的构造函数,B的构造函数
//里面定义了A的对象自动调用A的构造函数。
}

程序在vc6.0调试通过,并且证明了C++中一个类的构造函数可以调用另一个类的构造函数。
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-05-21
可以的。
例如:
class
A
{
public:
A(){cout<<"class
A
constructor!\n";}//A的构造函数
~A(){}
};
class
B
{
public:
B(){A
a;}//B的构造函数
};
void
main()
{
B
b;//定义B的对象自动调用B的构造函数,B的构造函数
//里面定义了A的对象自动调用A的构造函数。
}
程序在vc6.0调试通过,并且证明了C++中一个类的构造函数可以调用另一个类的构造函数。
第2个回答  2006-11-19
可以调用基类的构造函数
第3个回答  2006-11-19
构造函数本身就是不能调用的
相似回答