class foo
{
public:
foo();
foo(int param){foo::foo();}
};
foo::foo(int)
会调用 foo::foo()
作为方法并初始化对象的成员还是创建无名对象?一个构造函数可以作为另一个构造函数/成员函数的方法调用吗?
最佳答案
在这种情况下,您的构造函数将创建类 foo
的无名对象,然后它将被销毁。
如果您想从另一个构造函数内部调用一个构造函数,您可以使用委托(delegate)构造函数
(仅在 C++11 中)例子:
class foo
{
public:
foo();
foo(int param) : foo() {}
};
关于c++ - 构造对象两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21220079/