Sales_item.h不是C++自带的,需要自己安装,这个库作者已经写好了,
Sales_item.h 头文件代码如下:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63#ifndef SALESITEM_H #define SALESITEM_H #include <iostream> #include <string> class Sales_item{ public: Sales_item(const std::string &book):isbn(book),units_sold(0),revenue(0.0){} Sales_item(std::istream &is){ is >> *this;} friend std::istream& operator>>(std::istream &,Sales_item &); friend std::ostream& operator<<(std::ostream &,const Sales_item &); public: Sales_item & operator+=(const Sales_item&); public: double avg_price() const; bool same_isbn(const Sales_item &rhs)const{ return isbn == rhs.isbn; } Sales_item():units_sold(0),revenue(0.0){} public: std::string isbn; unsigned units_sold; double revenue; }; using std::istream; using std::ostream; Sales_item operator+(const Sales_item &,const Sales_item &); inline bool operator==(const Sales_item &lhs,const Sales_item &rhs){ return lhs.units_sold == rhs.units_sold && lhs.revenue == rhs.revenue && lhs.same_isbn(rhs); } inline bool operator!=(const Sales_item &lhs,const Sales_item &rhs){ return !(lhs == rhs); } inline Sales_item & Sales_item::operator +=(const Sales_item &rhs){ units_sold += rhs.units_sold; revenue += rhs.revenue; return *this; } inline Sales_item operator+(const Sales_item &lhs,const Sales_item &rhs){ Sales_item ret(lhs); ret += rhs; return ret; } inline istream& operator>>(istream &in,Sales_item &s){ double price; in >> s.isbn >> s.units_sold >> price; if(in) s.revenue = s.units_sold * price; else s = Sales_item(); return in; } inline ostream& operator<<(ostream &out,const Sales_item &s){ out << s.isbn << "t" <<s.units_sold << "t" << s.revenue << "t" << s.avg_price(); return out; } inline double Sales_item::avg_price() const{ if(units_sold) return revenue/units_sold; else return 0; } #endif
注意,Sales_item.h的储存路径要和源代码的储存路径一致。这样,源代码的头文件才可以访问这个类。
如何安装头文件?
- DevC++如何安装自定义头文件并使用
最后
以上就是含蓄舞蹈最近收集整理的关于《C++ Primer》第一章的 Sales_item.h头文件源码的全部内容,更多相关《C++内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复