作为一名 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”关键字,但都失败了。
原文由 Stormenet 发布,翻译遵循 CC BY-SA 4.0 许可协议
C++11:是的!
C++11 及更高版本具有相同的功能(称为 委托构造函数)。
语法与 C# 略有不同:
C++03:没有
不幸的是,在 C++03 中没有办法做到这一点,但有两种模拟方式:
请参阅 C++FAQ 条目 以供参考。