14.1节
练习14.1
相同点:对于优先级和结合型以及操作数的数目都不变。
不同点:重载操作符必须具有至少一个class或枚举类型的操作数。
14.2
下面所有的代码行可能把好几个文件放在一起了。
//sales_data.h
#ifndef SALES_DATA_H
#define SALES_DATA_H
#include <string>
#include <iostream>
using namespace std;
class Sales_data
{
friend void print(ostream &os,Sales_data rhs);
friend istream& operator>>(istream &,Sales_data &rhs);
friend ostream& operator<<(ostream &,const Sales_data &rhs);
public:
Sales_data() = default;
Sales_data(const string &s):bookno(s){}
Sales_data(const string &s,unsigned n,double r):
bookno(s),cnt(n),revenue(r){}
Sales_data(istream &is);
const string & isbn()const
{return bookno;}
Sales_da