c++primer 第七章习题答案

7.7

//2018年8月17日 练习7.7
Sales_data total;
if (read(cin, total)) {
	sales_data trans;
	while (read(cin, trans)) {
		if (total.isbn() = trans.isbn()) {
			total.combine(trans);
		}
		else {
			print(cout, total) << endl;
		}
	}
	print(cout, total) << endl;
}
else {
	cerr << "no data?" << endl;
}

7.9

#include "stdafx.h"
#include "iostream"
#include "stddef.h"
#include "string"
#include<vector>
using namespace std;
//2018年8月17日 练习7.7

class person {
private:
	string name;
	string address;
public:
	istream &read(istream &is, person &item)
	{
		is >> item.name >> item.address;
		return is;
	}
	ostream &print(ostream &os, const person &item)
	{
		os << item.name << item.address;
		return os
	}
};

7.11

//2018年8月17日 练习7.7

class sales_data {
public:
	sales_data() = default;
	sales_data(const string &s):bookNo(s){}
	sales_data(const string &s, unsigned num, double sellprice, double saleprice);
	sales_data(string &is);
private:
	string bookNo;
	unsigned units_sold = 0;
	double revenue = 0.0;
	double sellingprice = 0.0;
};

sales_data::sales_data(const string &s) {
	s >> *this;
}

sales_data(const string &s, unsigned num, double sellprice, double saleprice) {
	bookNo = s;
	units_sold = num;
	sellingprice = sellprice;
	revenue = sellingprice * units_sold;
}
int main()
{
	sales_data data1;
	sales_data data2("11-11");
	sales_data data3("11-11", 10, 15.5, 100);
	sales_data data4(cin);

	return 0;
}

7.12

class sales_data {
public:
	sales_data() = default;
	sales_data(const string &s):bookNo(s){}
	sales_data(const string &s, unsigned num, double sellprice, double saleprice);
	sales_data(string &is) { is >> *this; }
private:
	string bookNo;
	unsigned units_sold = 0;
	double revenue = 0.0;
	double sellingprice = 0.0;
};

7.14

sales_data(const string &s) : bookNo(s), num(0), sellprice(0), saleprice(0) {}

7.15

class person
{
private:
	string strname;
	string straddress;
public:
	person() = default;
	person(const string &name, const string &add)
	{
		strname = name;
		straddress = add;
	}
	person(istream &is) { is >> *this; }
	string getname() const { return strname; }
	string getaddress() const { return straddress; }
};

猜你喜欢

转载自blog.csdn.net/weixin_41878471/article/details/81776022