第七章 类

练习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;
};


 

猜你喜欢

转载自blog.csdn.net/dianyanxia/article/details/54744333
今日推荐