c++ 纯虚函数与抽象类

纯虚函数

            有时候我们不得不将基类中的成员函数定义为虚函数,只是纯粹的考虑到其派生类的应用,而并不是基类本身的要求,所谓的纯虚函数就是在基类中只预留一个函数名,具体的功能再让派生类去完成。
    

           纯虚函数定义:
          
           virtual 函数类型 函数名 (参数) = 0;

          例:
          
          
      virtual double area() const =0; //纯虚函数

抽象类

        一般情况下我们声明一个类的作用是用它来定义对象。但是在面向对象的程序设计中,往往有一些类是不需要来定义对象的,这些类唯一的作用是用它作为基类来去建立派生类。它只是作为一种基类来提供给用户,用户再去根据自己的需求来定义出不同功能的派生类。再去用这些派生类来建立对象。这些不用来定义对象只是作为一种基本类型用作继承的类,称为抽象类(abstract class),由于它常用作基类,所以也通常称作抽象基类(abstract base class)。凡是包含纯虚函数的类都是抽象类。因为纯虚函数是无法被调用的,包含纯虚函数的类是无法建立对象的。

       虽然抽象类不能定义对象,但是也是可以定义指针来指向抽象类数据的。当派生类称为具体类之后,就可以用这种指针来指向派生类对象,然后通过该指针来调用虚函数,从而来实现多态。




        
        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值