在Java中,我们可以编写如下:
public class Demo{
private int val;
public Demo(int val){this.val = val;}
public Demo(){this(0);}
}
Run Code Online (Sandbox Code Playgroud)
但是,它在C++中不起作用:
class Demo{
private:
int _val;
public:
Demo(int val):_val(val){}
Demo(){this(0);}
}
Run Code Online (Sandbox Code Playgroud)
如何修改此代码?
使用C++ 11,您可以使用委托构造函数:
Demo():Demo(0){ }
Run Code Online (Sandbox Code Playgroud)