纯虚函数
纯虚函数不需要定义,通过在声明语句分号之前书写=0就可以将虚函数说明为纯虚函数。如果一定要对纯虚函数进行定义,只能在类外

class Disc_quote : public Quote
{
public:
    Disc_quote() = default;
    Disc_quote(const std::string &book, double price, std::size_t qty, double disc) : Quote(book, price), quantity(qty), discount(disc){}
    double net_price(std::size_t) const = 0;
protected:
    std::size_t quantity = 0;
    double discount = 0.0;
};

抽象基类
含有纯虚函数的类为抽象基类,我们不能直接创建一个抽象基类的对象,只能定义抽象基类的派生类的对象,且要保证这些对象可以覆盖纯虚函数