class foo
{
public:
foo();
foo(int param){foo::foo();}
};
foo::foo(int)
会调用foo::foo()
作为方法并初始化对象的成员或创建无名对象吗?可以从另一个构造函数/成员函数中调用一个构造函数作为方法吗?
答案 0 :(得分:2)
在这种情况下,构造函数将创建类foo
的无名对象,然后它将被销毁。
如果你想从另一个构造函数中调用构造函数,你可以使用委托构造函数
来完成它(仅在C ++ 11中)示例:
class foo
{
public:
foo();
foo(int param) : foo() {}
};