在函数形参列表后面写上 =0 以指定纯虚函数:
class Disc_item : public Item_base{
public:
double net_price(std::size_t) const = 0;
};
将函数定义为纯虚能够说明,该函数为后代类型提供了可以覆盖的接口,但是这个类中的版本决不会调用。重要的是,用户将不能创建该类型的对象。
Disc_item discounted; // error: can't define a Disc_item object
含有 (或继承) 一个或多个纯虚函数的类型是抽象基类(abstract base class)。除了作为抽象基类的派生类的对象的组成部分,不能创建抽象类型的对象。