c++ 类中,当需要定义自己构造器,需要注意:
新的构造器中参数的赋值初始化需要在定义及.cpp中完成,不要在头文件中进行初始化。比如:
1>正确的:
Item_base.h文件中 Item_base(const string &book,double sales_price);
Item_base.cpp中
Item_base::Item_base(const string &book="",double sales_price=0.0 ):isbn(book),price(sales_price){}
2>错误的:
Item_base.h文件中
Item_base(const string &book="",double sales_price=0.0 );
此时将会出现错误为:
error C2572: “....”: 重定义默认参数