《C++ primer 4th》习题 7-31 记录
2016-07-11 16:52
549 查看
// Sales_iterm.h #ifndef SALES_ITERM_H_INCLUDED #define SALES_ITERM_H_INCLUDED #include <iostream> #include <string> //using std::string; //using std::istream; //using std::ostream; class Sales_iterm { public: std::istream& input(std::istream &in); std::ostream& output(std::ostream &out) const; double avg_price() const; // 1、************************************************** bool same_isbn(const Sales_iterm &rhs) const { return isbn == rhs.isbn; } Sales_iterm(): unit_sold(0), revenue(0.0) {} private: std::string isbn; unsigned unit_sold; double revenue; }; #endif // MYSALES_ITERM_H_INCLUDED
//Sales_iterm.cpp #include "Sales_iterm.h" std::istream& Sales_iterm::input(std::istream &in) { in >> isbn >> unit_sold >> revenue; return in; } std::ostream& Sales_iterm::output(std::ostream &out) const { out << "ISBN: " << isbn << std::endl << "units sold: " << unit_sold << std::endl << "revenue: " << revenue << std::endl; return out; } double Sales_iterm::avg_price() const { if (unit_sold) { return revenue/unit_sold; } return 0; }
// main.cpp #include <iostream> #include "Sales_iterm.cpp" using namespace std; int main() { Sales_iterm salesiterm1, salesiterm2; salesiterm1.input(cin); salesiterm2.input(cin); if (salesiterm1.same_isbn(salesiterm2)) { cout << "X" << endl; } // saleiterm.output(cout); // cout << saleiterm.avg_price(); return 0; }
1、
Sales_iterm类将数据成员
isbn定义为
private,这并不意味着rhs.isbn是错误的。
2、涉及到多文件的编译两种方法:a. 创建一个工程 b. 包含相应的文件
相关文章推荐
- C++数组
- 函数
- stl关联容器
- getline()这个函数
- C++ Primer 5th - 2.1 基础内建类型
- C++ Primer 5th - 1.5 类
- C++ Primer Plus 第六版_编程练习(1)(Chapter_two 1-7)
- C++ Primer Plus 第六版_编程练习(2)(Chapter_three 1-7)
- C++ Primer Plus 第六版_编程练习(3)(Chapter_four 1-10)
- C++ Primer Plus 第六版_编程练习(4)(Chapter_five 1-5)
- C++ Primer Plus 第六版_编程练习(5)(Chapter_five 6-10)
- 《C++ Primer》笔记
- 浅拷贝、深拷贝与引用计数
- Vector的简单使用
- c++语句补充
- c++基础复习之表达式
- c++基础复习之数组与指针
- 《C++primer》第二章--变量和基本内置类型
- 复制控制
- C++中cin如何输入字符串