Dotcpp  >  编程教程  >  C++多态性  >  C++纯虚函数与抽象类总结

C++纯虚函数与抽象类总结

点击打开在线编译器,边学边练

纯虚函数与抽象类

纯虚函数,就是没有函数体的虚函数。什么叫没有函数体?就是这样定义的函数:

virtual 返回值 函数名(形参)=0;


可以看到,前面virtual与虚函数定义一样,后面加了一个=0。表示没有函数体,这就是一个纯虚函数。包含纯虚函数的类就是抽象类,一个抽象类至少有一个纯虚函数。


抽象类的存在是为了提供一个高度抽象、对外统一的接口,然后通过多态的特性使用各自的不同方法,是C++面向对象设计以及软件工程的核心思想之一。


抽象类的特点总结如下:

1. 抽象类无法实例出一个对象来,只能作为基类让派生类完善其中的纯虚函数,然后再实例化使用。

2. 抽象类的派生来依然可以不完善基类中的纯虚函数,继续作为抽象类被派生。直到给出所有纯虚函数的定义,则成为一个具体类,才可以实例化对象。

3. 抽象类因为抽象、无法具化,所以不能作为参数类型、返回值、强转类型。

4. 接着第三条,但抽象类可以定义一个指针、引用类型,指向其派生类,来实现多态特性。



本文固定URL:https://www.dotcpp.com/course/82

C++教程
第一章 C++入门
第二章 C++表达式和控制语句
第三章 C++函数调用与重载、内联
第四章 C++类和对象
第五章 C++继承与派生
第六章 C++多态性
第七章 C++异常处理
第八章 C++文件操作
Dotcpp在线编译      (登录可减少运行等待时间)