摘要
C++委托构造函数(delegating constructor)
一句话笔记
- C++11新增了
委托构造函数(delegating constructor),使得一个委托构造函数能够使用它所属的类的其他构造函数进行自己初始化的过程。 - 当一个委托构造函数委托给另一个构造函数时,首先,受委托的构造函数的初始值列表和函数体依次执行,然后才执行委托构造函数的函数体。
class CMyClass
{
public:
//未委托构造函数,使用对应的实参初始化成员
CMyClass(int i, int ci,) : i(i), ci(ci) {}
//下面是委托构造函数,它们委托其它构造函数进行初始化
CMyClass() : CMyClass(0, 1) {}
CMyClass(int a) : CMyClass(a, 1) {}
CMyClass(double var) : CMyClass() {
printf("%lf\n", var);
}
private:
int i;
const int ci;
}
相关/参考链接
《C++ prime 第五版》p261
538

被折叠的 条评论
为什么被折叠?



