C++ 抽象类与纯虚函数

 

 

  接下来,我们准备为大家介绍"抽象类"

 

   抽象类——不可以用于定义对象,只可以用于继承的类,称为抽象类,而抽象类中至少有一个纯虚函数。

    

  纯虚函数

   纯虚函数——被定义为可以不在当前类中实现的虚函数,称为纯虚函数。

 

 纯虚函数的定义格式:

  virtual 返回类型 函数名(参数类型 参数1,参数类型 参数2...参数类型 参数n)=0;

 

  格式分析:

     与虚函数的定义格式是一样的,只是多了一个“等于号”和“0”

 

 

 

  接下来,我们结合例子作进一步的学习

 

   例子:

    class Weapon          //定了一个描述武器的抽象类Weapon

    {

      public:

        int Type;          //武器的类型

        int x; 

        int y;      

        virtual void shoot()=0;  //定义了纯虚函数shoot

    }

 

 

    //========================

   //定义了一个描述散弹枪的类ShotGun并继承了抽象类Weapon

   //========================

    class ShotGun :public Weapon  

    {

      public:

        virtual void shoot();  //定义了虚函数shoot

    }

 

    void ShotGun::shoot()    //实现虚函数

    {

      x=x+1;    //可以使用基类Weapon中的公有属性x

      y=y+1;    //可以使用基类Weapon中的公有属性y

    }

 

 

  void main()

  {

    Weapon  wp1;  //错误Weapon类是抽象类,所以,不可以用于定义对象

 

     ShotGun sg1;

     sg1.shoot();    //调用了ShotGun类中的shoot

 

  }

 

 

 

 

  通过上面的学习,相信大家对抽象类与纯虚函数有了一个初步了解,但是,如何灵活地运用这个知识点呢?那么,我们就要通过下方的按钮进入到游戏中,然后,运用该知识点去完成任务,这样,才可以加深大家对该知识点的理解和运用,以及“尽快进入到编程的状态”

 

  要达到灵活运用,是需要通过不停地反复训练才可以做到,所以,不要停留在理论规则上面,快动起来吧!

 

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练