面向对象编程与泛型编程---C++primer读书笔记
2015-09-17 09:09
337 查看
未调试运行,待完善
动态绑定
数据抽象
哪些应该设计为virtual。
派生类只能通过派生类对象访问其基类的protected成员
1.OOP的基础
继承动态绑定
数据抽象
2.书店应用程序案列
1.基类的定义
Exercise 15.4哪些应该设计为virtual。
class Library{ public: bool check_out(const LibMember&); bool check_in(const LibMember&); bool is_late(const Date& today); double apply_fine(); ostream& print(ostream& = cout); Date due_date() const; Date date_borrowed() const; string title() const; const LibMember& member() const; };
class Item_base{ public: Item_base(const std::string &book = "",double sales_price = 0.0): isbn(book),price(sales_price){ } std::string book( ) const {return isbn;} virtual double net_price(std::size_t n) const { return n*price;} virtual ~Item_base() { } private: std::string isbn; protected: double price; };
派生类只能通过派生类对象访问其基类的protected成员
void Bulk_item::memfcn(const Bulk_item &d,const Item_base &b) { double ret = price; ret = d.price; ret = b.price;//error }
2.定义派生类
class Bulk_item:public Item_base { public: double net_price(std::size_t) const; private: std::size_t min_qty; double discount; };
相关文章推荐
- C++ 头文件
- C++ 分糖果问题-求一组数的最大公倍数
- C语言关于字符串逆序输出---面试
- C++Primer 第五版 9.3.1节练习
- C++Primer第五版 9.3.6节练习
- C++Primer第五版 9.2.7节练习
- C++Primer 第五版 9.2节练习
- C++Primer第五版 9.2.5节练习
- C++Primer第五版 9.2.3节练习
- C++Primer第五版 9.2.2节练习
- C++Primer第五版 9.2.1节练习
- C++Primer第五版 9.1节练习
- C++Primer第五版 第8章 IO库(练习解答)
- C++Primer第五版 8.3.2节练习
- C++Primer第五版 8.3.1节练习
- C++Primer第五版 8.2.2节练习
- C++Primer第五版 8.2.1节练习
- C++Primer第五版 8.1.2节练习
- C++Primer第五版 第7章 类(练习解答)
- C++Primer第五版 7.6节练习