7.11 添加构造函数
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) { }
Sales_data(istream &);
/* ... */
};
Sales_data::Sales_data(istream &is)
{
read(is, *this);
}
使用构造函数:
#include <iostream>
#include "Sales_data.h"
using namespace std;
int main()
{
Sales_data s1;
print(cout, s1) << endl;
Sales_data s2("book1");
print(cout, s2) << endl;
Sales_data s3("book2", 10, 5.5);
print(cout, s3) << endl;
Sales_data s4(cin);
print(cout, s4) << endl;
return 0;
}
7.12 将构造函数移到类内部:
struct Sales_data;
Sales_data add(const Sales_data &lhs, const Sales_data &rhs);
istream &am