练习15.27:
添加using Quote::Quote继承构造函数
//派生类
class Bulk_quote :public Quote {
public:
Bulk_quote() = default;
//拷贝构造函数
Bulk_quote(const Bulk_quote& bq) :Quote(bq), min_qty(bq.min_qty), discount(bq.discount) { cout << "------Bulk_quote copy constructor------" << endl; }
//拷贝赋值运算符
Bulk_quote& operator=(const Bulk_quote& rhs);
//移动构造函数
Bulk_quote(Bulk_quote&& bq)noexcept :Quote(std::move(bq)), min_qty(bq.min_qty), discount(bq.discount) { cout << "------Bulk_quote move constructor------" << endl; }
//移动赋值运算符
Bulk_quote& operator=(Bulk_quote&& rhs)noexcept;
Bulk_quote(const std::string& book, double p, std::size_t qty, double disc) :Quote(book, p), min_qty(qty), discount(disc) { }
//覆盖基类的函数版本以实现基于大量购买的折扣政策
double net_price(std::size_t)const override;
void debug()const { cout << "In class Quote,min_qty:" << min_qty << " discount:" << discount << endl; }
~Bulk_quote() { cout << "------Bulk_quote 析构函数------" << endl; }
//继承构造函数
using Quote::Quote;
private:
std::size_t min_qty = 0;
double discount = 0.0;
};