1. Tomomoto
A class can allow other classes or functions to access its non-public members by making other classes or functions its friends.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Sales_data {
// 友元声明
// 友元只能出现在类定义的内部
friend Sales_data add(const Sales_data&, const Sales_data&);
friend istream &read(istream&, Sales_data&);
friend ostream &print(ostream&, Sales_data&);
private:
string bookNo;
unsigned unit_sold;
double revenue;
public:
Sales_data(string &s) : bookNo(s){}
Sales_data &combine(const Sales_data&);
Sales_data add(const Sales_data&, const Sales_data&);
istream &read(istream&, Sales_data&);
ostream &print(ostream&, Sales_data&);
}