C++11 新标准扩展了构造函数初始值的功能,使得我们可以定位所谓的委托构造函数,一个委托构造函数使用它所属类的其他构造函数执行它自己的初始化过程,或者说它把它的一些(或者全部)职责委托给了其他构造函数。
1 class Sales_Data 2 { 3 private: 4 std::string BookNo; 5 unsigned units_sold; 6 double price; 7 public: 8 Sales_Data(std::string s,unsigned cnt,double price):BookNo(s),units_sold(cnt),price(cnt*price){} 9 Sales_Data():Sales_Data("s",0,0){} 10 Sales_Data(std::string s):Sales_Data(s,0,0){} 11 };