美文网首页
抽象基类与纯虚函数

抽象基类与纯虚函数

作者: 日子总要往前走 | 来源:发表于2018-10-18 01:24 被阅读9次

因为呢,含有纯虚函数的类才叫做基类。所以我们先看看纯虚函数。

纯虚函数

1.什么是纯虚函数?
首先呢,要清楚一点的就是纯虚函数一般情况下只有申明,没有定义。因为纯虚函数出现的意义就是为了告诉那些码农们,这个函数是没有实际意义的。虚函数的定义其实很简单,只需要在定义该函数的声明语句的分号之前加“=0”就可以将一个虚函数说明为虚函数,这块儿需要注意了,你得先是虚函数,才能是纯虚函数。

  1. 纯虚函数的一些特性
    2.1 首先 =0 只能出现在类内部的虚函数声明语句处。
    2.2 需要注意的是,我们也可以为纯虚函数提供定义,不过定义的函数体必须放在类的外部。因为我们不能在类的内部为一个=0的函数提供函数体。
  2. 纯虚函数的意义
    我们在实际的项目中会碰上这样一种需求,基类中声明并且定义了一个虚函数,基类的第一层派生了继承了这个虚函数,而此时的这个类并不做具体的是实现,而是它的派生类去作具体的实现。太绕了,举个例子说明:
    比如说超市的销售。定义一个基类Base,收费的函数实现就是单价乘以个数。但是单超市想搞促销活动的话,就得继续实现了。首先促销都活动有俩种:一种是库存小于某个值时,恢复原价,另一种是根据顾客得购买量来打折。这样得话就需要实现一个类,它得主要作用就是增加库存值和购买超过量这俩个值。然后再派生俩各类来具体实现这俩种打折方案。其中这个类,是肯定不希望去乱初始化得,因为没有意义。

抽象基类

1.什么是抽象基类?
含有纯虚函数的类就叫做抽象基类。
2.基类的一些注意事项
抽象基类是不能创建对象的。

相关文章

  • ★01.基础概念

    抽象类:含有虚函数的类。 抽象基类:含有纯虚函数的类。 虚基类:多重继承中虚继承的基类。 类静态数据成员的定义必须...

  • C++ - 纯虚函数与抽象类

    纯虚函数:没有函数体的虚函数 抽象类:包含纯虚函数的类只能作为基类来派生新类使用不能创建抽象类的对象抽象类的指针和...

  • 纯虚函数和抽象类

    纯虚函数和抽象类 概念 纯虚函数:没有函数体的虚函数。 抽象类:包含纯虚函数的类就称为抽象类。 纯虚函数就是在函数...

  • C++抽象类(纯虚函数)

    C++抽象类 一、纯虚函数定义. 纯虚函数是在基类中声明的虚函数,它在基类中没有定义,但要求任何派生类都要定义自己...

  • 2020-02-17-C++抽象类

    抽象类包含有纯虚函数 的类 称为 抽象类,一个抽象类 至少有一个纯虚函数,抽象类只能作为基类派生出 新的子类,...

  • ★03.关于单继承

    基类总是要写虚析构函数 通过设置析构函数为纯虚函数来让类称为抽象基类 代码 函数virtual属性的传递性 拷贝移...

  • 抽象基类与纯虚函数

    因为呢,含有纯虚函数的类才叫做基类。所以我们先看看纯虚函数。 纯虚函数 1.什么是纯虚函数?首先呢,要清楚一点的就...

  • c++语法4

    接上一篇继续学习抽象类、函数模板 抽象类 c++中的抽象类是通过纯虚函数体现的,凡是含有纯虚函数的类叫做抽象类纯虚...

  • 2017 09 21

    对下列知识点进行相关学习: 主要就将纯虚函数作为基类进行程序编写练习 抽象类: 抽象类的一般形式,带有纯虚函数的类...

  • 9月21日-4期C语言学习总结

    今天学习:拷贝构造函数、构造、析构函数。 抽象类只能做基类来使用。 纯虚函数直到被覆盖前所派生的类均为抽象类。 b...

网友评论

      本文标题:抽象基类与纯虚函数

      本文链接:https://www.haomeiwen.com/subject/oqgdzftx.html