为了账号安全,请及时绑定邮箱和手机立即绑定

我可以从C+中的另一个构造函数(做构造函数链)调用构造函数吗?

我可以从C+中的另一个构造函数(做构造函数链)调用构造函数吗?

C++
小怪兽爱吃肉 2019-06-16 15:46:49
我可以从C+中的另一个构造函数(做构造函数链)调用构造函数吗?作为C#我习惯于运行构造函数:class Test {     public Test() {         DoSomething();     }     public Test(int count) : this() {         DoSomethingWithCount(count);     }     public Test(int count, string name) : this(count) {         DoSomethingWithName(name);     }}在C+中有办法做到这一点吗?我试着调用类名并使用“this”关键字,但都失败了。
查看完整描述

3 回答

?
湖上湖

TA贡献2003条经验 获得超2个赞

不,在C+03中不能从另一个构造函数中调用一个构造函数(称为委托构造函数)。

这在C+11(又名C+0x)中发生了变化,增加了对以下语法的支持:
(例子取自维基百科)

class SomeType{
  int number;public:
  SomeType(int newNumber) : number(newNumber) {}
  SomeType() : SomeType(42) {}};


查看完整回答
反对 回复 2019-06-16
  • 3 回答
  • 0 关注
  • 706 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信