在一个构造函数的定义中,以成员初始化列表的方式使用另一个构造函数,这被称为委托。
可以避免重复编写多个重复构造函数中相同的代码,让编码工作更简单、更可靠。
class Notes{
int k;
double x;
string st;
public:
Notes();
Notes(int);
Notes(int, double);
Notes(int, double, string);
};
Notes::Notes(int kk, double xx, string stt) : k(kk), x(xx), st(stt) {/*……*/}
Notes::Notes() : Notes(0, 0.01, "Ah") {/*……*/}
Notes::Notes(int kk) : Notes(kk, 0.01, "Ah") {/*……*/}
Notes::Notes(int kk, double xx) : Notes(kk, xx, "Uh") {/*……*/}