15.1
虚函数:基类的成员函数,并在其前面添加关键字virtual,此类函数是基类希望其派生类进行覆盖的函数
15.2
protected:对应受保护成员,派生类可以访问该成员,但其他用户则禁止访问该成员
15.3
1 class Quote { 2 public: 3 Quote() = default; 4 Quote(const string &book, double sales_price): bookNo(book), price(sales_price) {} 5 string isbn() const { return bookNo; } 6 virtual double net_price(size_t n) const { return n * price; } 7 virtual ~Quote() = default; 8 private: 9 string bookNo; 10 protected: 11 double price = 0.0; 12 }; 13 14 double print_total(ostream &os, const Quote &item, size_t n) 15 { 16 double ret = item.net_price(n); 17 os << "ISBN: " << item.isbn() << " # sold: " << n << " total due: " << ret << endl; 18 return ret; 19 }