在C++中使用"this"的构造函数?

all*_*lao 2 c++

在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)

如何修改此代码?

bil*_*llz 8

使用C++ 11,您可以使用委托构造函数:

Demo():Demo(0){ }
Run Code Online (Sandbox Code Playgroud)

  • @chris是的,啤酒+烧烤后我也有点醉了 (2认同)