7.1.4
来源:互联网 发布:淘宝联盟里面的优惠券 编辑:程序博客网 时间:2024/06/05 06:22
7.11
#include <string>#include <iostream>class Sales_data {public: Sales_data() = default; Sales_data(const std::string &s):bookNo(s) { } Sales_data(const std::string &s, unsigned n, double p):bookNo(s), units_sold(n), revenue(n*p){ } Sales_data(std::istream &is); std::string isbn() const { return bookNo; }; Sales_data& combine(const Sales_data&);private: std::string bookNo; unsigned units_sold = 0; double revenue = 0.0;};// nonmember functionsstd::istream &read(std::istream &is, Sales_data &item){ double price = 0; is >> item.bookNo >> item.units_sold >> price; item.revenue = price * item.units_sold; return is;}std::ostream &print(std::ostream &os, const Sales_data &item){ os << item.isbn() << " " << item.units_sold << " " << item.revenue; return os;}Sales_data add(const Sales_data &lhs, const Sales_data &rhs){ Sales_data sum = lhs; sum.combine(rhs); return sum;} // member functions.Sales_data::Sales_data(std::istream &is){ read(is, *this);}Sales_data& Sales_data::combine(const Sales_data& rhs){ units_sold += rhs.units_sold; revenue += rhs.revenue; return *this;}
7.12
#include <string>#include <iostream>struct Sales_data;std::istream &read(std::istream&, Sales_data&);class Sales_data {public: Sales_data() = default; Sales_data(const std::string &s):bookNo(s) { } Sales_data(const std::string &s, unsigned n, double p):bookNo(s), units_sold(n), revenue(n*p){ } Sales_data(std::istream &is) { read(is, *this); } std::string isbn() const { return bookNo; }; Sales_data& combine(const Sales_data&);private: std::string bookNo; unsigned units_sold = 0; double revenue = 0.0;};// member functions.Sales_data& Sales_data::combine(const Sales_data& rhs){ units_sold += rhs.units_sold; revenue += rhs.revenue; return *this;}// nonmember functionsstd::istream &read(std::istream &is, Sales_data &item){ double price = 0; is >> item.bookNo >> item.units_sold >> price; item.revenue = price * item.units_sold; return is;}std::ostream &print(std::ostream &os, const Sales_data &item){ os << item.isbn() << " " << item.units_sold << " " << item.revenue; return os;}Sales_data add(const Sales_data &lhs, const Sales_data &rhs){ Sales_data sum = lhs; sum.combine(rhs); return sum;}
7.13
int main(){ Sales_data total(std::cin); if (!total.isbn().empty()) { std::istream &is = std::cin; while (is) { Sales_data trans(is); if (total.isbn() == trans.isbn()) total.combine(trans); else { print(std::cout, total) << std::endl; total = trans; } } print(std::cout, total) << std::endl; } else { std::cerr << "No data?!" << std::endl; return -1; } return 0;}
7.14
Sales_data() : units_sold(0) , revenue(0){ }
7.15
#include <string>#include <iostream>class Person {public: Person() = default; Person(const std::string sname, const std::string saddr):name(sname), address(saddr){ } Person(std::istream &is){ read(is, *this); } std::string getName() const { return name; } std::string getAddress() const { return address; } private: std::string name; std::string address;};std::istream &read(std::istream &is, Person &person){ is >> person.name >> person.address; return is;}std::ostream &print(std::ostream &os, const Person &person){ os << person.name << " " << person.address; return os;}
0 0
- 7.1.4
- 7.1.4构造函数
- 7.1.4构造函数
- DXperience 7.1.4 for VS2005
- VMware Workstation 7.1.4序列号:
- Surround the Trees 7.1.4
- 7.1.3 类型定义说明符+7.1.4 friend说明符
- VMware+Workstation+7.1.4注册机
- 7.1.4 ScrollView结合案例详解
- Installing VMware 7.1.4 and Debian 6.0
- 例题7.1.4,双基回文数
- 7.1.4: 不同的验证写法
- (7.1.4)SQL中的触发器trigger
- phpStorm for mac 7.1.4注册码
- VMware-Workstation-7.1.4支持的操作系统
- 7.1
- 7.1
- 7.1
- 掌握这些Myeclipse快捷键,解放你的双手
- 算法导论整理序言
- JSP的6个动作
- 【强烈推荐】开源C#工具类MSCL系列(三)数据转换帮助类
- c11 generic singleton
- 7.1.4
- Python 基础知识
- 用c++实现堆排序
- Oracle外连接(left/right/full outer join)语法详解
- 【leetcode】103. Binary Tree Zigzag Level Order Traversal【java】使用队列,简单容易理解的方法
- 设备驱动中的spin_lock(kernel-4.7)
- ubuntu14.04编译caffe
- 17 - 01 - 26 计算机网络(16)(运输层概述)
- MFC CTreeView学习之初始化(一)