为什么要引入抽象基类和纯虚函数?
主要目的是为了实现一种接口的效果。

  原文链接:https://blog.csdn.net/weibo1230123/article/details/82014322

抽象类是一种特殊的类,它是为了抽象和设计的目的为建立的,它处于继承层次结构的较上层。

      ⑴抽象类的定义:带有纯虚函数的类为抽象类。

      ⑵抽象类的作用:

      抽象类的主要作用是将有关的操作作为结果接口组织在一个继承层次结构中,由它来为派生类提供一个公共的根,派生类将具体实现在其基类中作为接口的操作。所以派生类实际上刻画了一组子类的操作接口的通用语义,这些语义也传给子类,子类可以具体实现这些语义,也可以再将这些语义传给自己的子类。

      (3)使用抽象类时注意:

    抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。如果派生类中没有重新定义纯虚函数,而只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类了,它是一个可以建立对象的具体的类。

    抽象类是不能定义对象的。

一、纯虚函数定义

 纯虚函数是一种特殊的虚函数,它的一般格式如下:

  class <类名>

  {

  virtual <类型><函数名>(<参数表>)=0;

  …

  };