C++ 12.4.2.默认实参与构造函数

Sale_item(const std::string &book):isbn(book),units_sold(0),revenue(0.0)}{}
Sale_item():units_sold(0),revenue(0.0){}
//还有一个isbn没有显示的初始化,它会使用string的默认构造函数来初始化isbn
class Sale_item{
public:
   Sale_item(const std::string &book=" "):isbn(book),units_sold(0),revenue(0.0)}{}
   Sale_item(std::istream &is);
};

Sale_item first_item(cin);//使用第二个构造函数
int main()
{
Sale_item next;//使用第一个构造函数,isbn初始化为空串,units_sold初始化为0,revenue初始化为0.0
Sale_item last("9-999-9999-9");//使用第一个构造函数,isbn初始化为9-999-9999-9,units_sold初始化为0,revenue初始化为0.0
}

你可能感兴趣的:(实参,默认)