知识点:
1、使用所在类的其他构造函数执行自己的初始化
2、当一个构造函数A委托给构造函数B的时候,先执行A的初始化列表和函数体,然后执行B的初始化列表和函数体
示例代码:
#include <iostream>
using namespace std;
class Sales_data
{
public:
Sales_data( string s, unsigned num, double price ) : bookNo( s ), unit_sold( num ), revenue( price )
{
cout << "Three params constructor.\n";
}
Sales_data() : Sales_data( "", 0, 0 )
{
cout << "delegate default constructor whitch no param.\n";
}
Sales_data( string s ) : Sales_data( s, 0, 0 )
{
cout << "delegate constructor whitch one param.\n";
}
Sales_data( istream &os ) : Sales_data()
{
cout << "double delegate.\n";
}
private:
unsigned int unit_sold = 0;
double revenue = 0.0;
string bookNo;
};
//by zhaocl
int main()
{
/