第18 章探讨 C++新标准.新的类功能. 委托构造函数.继承构造函数
第18 章探讨 C++新标准.新的类功能. 委托构造函数.继承构造函数
18.3.3 委托构造函数
如果给类提供了多个构造函数,您可能重复编写相同的代码。也就是说,有些构造函数可能需要包含其他构造函数中已有的代码。为让编码工作更简单、更可靠,C++11允许您在一个构造函数的定义中使用另一个构造函数。这被称为委托,因为构造函数暂时将创建对象的工作委托给另一个构造函数。委托使用成员初始化列表语法的变种:
Class Notes{
int k;
double x;
std::string st;
public:
Notes();
Notes(int);
Notes(int,double);
Notes(int,double,std::string);
}l
Notes::Notes(int kk,double xx,std::string stt):k(kk).x(xx),st(stt)(/*do stuff*/)
Notes::Notes():Notes(0,0.01,"Oh")(/* do other stuff*/}
Notes::Notes(int kk):Notes(kk,0.01,"Ah"){
/* do yet other stuff*/}
Notes::Notes( int kk,double xx):Notes(kk, xx