纯虚函数
纯虚函数不需要定义,通过在声明语句分号之前书写=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; };
抽象基类
含有纯虚函数的类为抽象基类,我们不能直接创建一个抽象基类的对象,只能定义抽象基类的派生类的对象,且要保证这些对象可以覆盖纯虚函数