/*
struct Sales_data{
Sales_data()=default;
Sales_data(const string &s):bookNo(s) {}
Sales_data(const string &s, unsigned n, double p):
bookNo(s), units_sold(n), revenue(p*n) {}
Sales_data(istream &);
string isbn() const { return bookNo; }
Sales_data& combine(const Sales_data&);
double avg_price() const;
string bookNo;
unsigned units_sold=0;//销售数量
double revenue =0.0;//销售收入
};
Sales_data::Sales_data(istream &is)
{
read(is, *this);
}
练习7.12:
把只接受一个istream作为参数的构造函数定义移到类的内部
答:
struct Sales_data{
Sales_data()=default;
Sales_data(const string &s):bookNo(s) {}
Sales_data(const string &s, unsigned n, double p):
bookNo(s), units_sold(n), revenue(p*n) {}
Sales_data(istream &is)
{
read(is, *this);
}
string isbn() const { return bookNo; }
Sales_data& combine(const Sales_data&);
double avg_price() const;
string bookNo;
unsigned units_sold=0;//销售数量
double revenue =0.0;//销售收入
};
*/
#include "TouWenJian_7_12.h"
int main()
{
Sales_data data1;
print(cout, data1);
Sales_data data2("0-201-78345-X");
print(cout, data2);
Sales_data data3("0-201-78345-X", 3, 20);
print(cout, data3);
Sales_data data4(cin);
print(cout, data4);
return 0;
}
C++Primer第五版第七章练习7.12
最新推荐文章于 2024-05-04 15:29:43 发布