C++抽象类的定义

2021-12-13 11:40

  抽象类(abstractclass)是一些只作为基类继承而不用定义对象的类。因为抽象类常用作基类,所以通常称为抽象基类(abstractbaseclass)。

C++抽象类的定义

  定义抽象类的唯一目的是建立衍生类。我们应该在抽象类的基础上定义不同功能的衍生类,然后用这些衍生类来建立对象。

  抽象vs具体类。

  所有包含纯虚函数的类都是抽象类。纯虚函数不需要实现,所以不能调用,抽象类无法建立对象。抽象类的作用是作为类簇的共同基类,即为类簇提供公共接口。

  许多面向对象的好系统,其层次结构的顶部是抽象类,甚至顶部的几层都是抽象类。如果在抽象类衍生出来的新类中定义了基础类的所有纯虚数,那么这些函数就被赋予了具体的功能,可以被调用。这个衍生类不是抽象类,而是可以用来定义对象的具体类。

  如果所有纯函数都在派生类中定义,那么派生类仍然是抽象类,不能用来定义对象。

  C++中含有纯虚函数的类是抽象类,纯虚函数是在函数原型后添加=0.

  在面向对象的概念中,我们知道所有的bai象都是用du类来描述的,但反过来却不是这样。zhi并不是所有的类都用来描述对象。如果一个类没有足够的信息来描述一个特定的对象,那么这个类就是抽象类。纯虚函数是基类中声明的虚函数,在基类中没有定义,但要求任何衍生类定义自己的实现方法。在基类中实现纯虚函数的方法是在函数原型后添加=0.[cpp]viewplaincopyprint?virtualvoidfuntion1()=0.

  virtualvoidfuntion1()=0.

  含有纯虚函数的类是抽象类,它是一种特殊类,为类簇提供统一的接口。

  抽象类不能实例化(不能定义抽象类的对象),只能通过继承机制生成抽象类的非抽象派生类,然后实例化。

  如果在派生类中没有实现纯虚函数,那么在派生类中就包含了纯虚函数,那么在正常情况下,派生类就会变成抽象类。

  以上就是开课吧小编为大家整理发布的“C++抽象类的定义”一文,更多相关内容尽在开课吧广场C++教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享