对于这个题,自己话费2个多小时编写了代码,亲自验证正确性,顺便复习类的知识点,下面采用分离式编译自己把代码放在三个文件中main.cc,function,sales_data.h,大家应该根据文件名推断各个文件的作用,main.cc主函数,function.cc是定义函数的地方,sales_data.h是放置类和函数声明的地方。代码可以运行,自己运行过。还有一个数据文件,data.txt是存放数据的。
文件:sales_data.h
//文件sales_data.h
#ifndef SALES_DATA_INCLUDE
#define SALES_DATA_INCLUDE
#include <iostream>
#include <string>
using namespace std;
class Sales_data{
public:
Sales_data() = default;
Sales_data(istream &is);
Sales_data(const string &s);
Sales_data(const string &s,unsigned n,double p);
const string isbn()const;
friend istream &read(istream &is,Sales_data & lhs);
friend ostream &print(ostream &os,const Sales_data &rhs);
friend Sales_data add(const Sales_data &lhs,const Sales_data