一个小白问题,咋也想不通。。关于引用的。。
#include <string>
这是自定义了一个头文件
*************************************************************************8
struct Sales_data {
std::string isbn() const { return bookNo; };
Sales_data& combine(const Sales_data & ); //*********就是不明白这里的形参为啥要用引用,我又不改变他的数值。。
std::string bookNo;
unsigned units_sold = 0;
double revenue = 0.0;
};
Sales_data& Sales_data::combine(const Sales_data & rhs)
{
units_sold += rhs.units_sold;
revenue += rhs.revenue;
return *this;
}
****************************************************************
这是源文件。。
#include "C:\Users\Jin\Desktop\ex7_02.h"
#include <iostream>
using std::cin; using std::cout; using std::endl;
int main()
{
Sales_data total;
if (cin >> total.bookNo >> total.units_sold >> total.revenue)
{
Sales_data trans;
while (cin >> trans.bookNo >> trans.units_sold >> trans.revenue) {
if (total.isbn() == trans.isbn())
(trans);
else {
cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;
total = trans;
}
}
cout << total.bookNo << " " << total.units_sold << " " << total.revenue << endl;
}
else
{
std::cerr << "No data?!" << std::endl;
return -1;
}
return 0;
}