练习7.2+7.3
#include <iostream>
#include <string>
using namespace std;
struct Sales_data
{
Sales_data & combine(const Sales_data &rhs)
{
units_sold += rhs.revenue;//只有最新的 C++ 才允许定义成员的时候指明初始值
revenue += rhs.revenue;// 初始值需要用构造函数的初始化列表来指定
return *this;
}
string isbn() const
{
return bookNo;
}
string bookNo;
unsigned int units_sold ;
double revenue ;
};
int main(void)
{
double price = 0;
Sales_data total;
Sales_data trans;
if(cin >> total.bookNo >> total.units_sold >> price )
{
total.revenue= total.units_sold * price;
while(cin >> trans.bookNo >> trans.units_sold >> price)
{
if(total.bookNo == trans.bookNo)
{
total.revenue += trans.revenue;
total.units_sold += trans.units_sold;
}
else
{
cout << total.bookNo << total.revenue<< total.units_sold;
total.bookNo = trans.bookNo;
total.revenue = trans.revenue;
total.units_sold = trans.units_sold;
}
}
cout << total.bookNo << ' ' << total.revenue<< ' '<< total.units_sold;
}
return 0;
练习7.4
#include <iostream>
#include <string>
using namespace std;
class person
{
public:
person a(string pName, string pAddress)
//person a(string pName, string pAddress)都是可以的 为什么?
{
name = pName;
address = pAddress;
}
private:
string name;
string address;
};
练习7.9
#include <iostream>
#include <string>
using namespace std;
class person
{
public :
person(string pName, string pAddress)
{
name = pName;
address = pAddress;
}
istream &read(istream &is, person&date)
{
is >> date.name >>date.address;
return is;
}
ostream &print(ostream &os, const person &date)
{
os << date.name << date.address;
return os;
}
private:
string name;
string address;
};