纯虚函数和抽象类
来源:互联网 发布:凯聪智云软件 编辑:程序博客网 时间:2024/06/05 16:26
纯虚函数:
在C++中,可以将虚函数声明为纯虚函数,语法格式为:
virtual 返回值类型 函数名 (函数参数) = 0;
纯虚函数没有函数体,只有函数声明,在虚函数声明的结尾加上=0,表明此函数为纯虚函数。
最后的=0并不表示函数返回值为0,它只起形式上的作用,告诉编译系统“这是纯虚函数”。
抽象类:
包含纯虚函数的类称为抽象类(Abstract Class)。之所以说它抽象,是因为它无法实例化,也就是无法创建对象。原因很明显,纯虚函数没有函数体,不是完整的函数,无法调用,也无法为其分配内存空间。
抽象类通常是作为基类,让派生类去实现纯虚函数。派生类必须实现纯虚函数(所有的)才能被实例化。
几点说明:
(1)一个纯虚函数就可以使类成为抽象基类,但是抽象基类中除了包含纯虚函数外,还可以包含其它的成员函数(虚函数或普通函数)和成员变量。
(2)只有类中的虚函数才能被声明为纯虚函数,普通成员函数和顶层函数均不能声明为纯虚函数。如下例所示:
//顶层函数不能被声明为纯虚函数
void fun() = 0; //compile error
class base{
public :
//普通成员函数不能被声明为纯虚函数
void display() = 0; //compile error
};
阅读全文
0 0
- 抽象类和纯虚函数
- 纯虚函数和抽象类
- 虚基类 、 纯虚函数和抽象类
- 纯虚函数和抽象类
- 纯虚函数和抽象类
- 纯虚函数和抽象类
- 抽象基类和纯虚函数
- 抽象类和纯虚函数
- 纯虚函数和抽象基类
- 纯虚函数和抽象类
- 纯虚函数和抽象类
- 【c++】纯虚函数和抽象类
- 纯虚函数和抽象类
- 抽象类和纯虚函数
- 纯虚函数和抽象基类
- 多态性:纯虚函数和抽象类
- 抽象基类和纯虚函数
- 纯虚函数和抽象类
- Mysql批量数据导入
- TabLayout
- spring笔记
- java8新特性
- JavaScript slice()和substring()的区别
- 纯虚函数和抽象类
- 数据库基础学习笔记
- Batch Normalization 学习笔记(一))
- 【JavaWeb】Log4j2的使用(二)
- 用宏实现函数—1.写一个宏可以将一个数字的奇数位和偶数位交换 2.求两个数中求较大值
- 01js语法基础_初识JS
- leetCode-Subsets II
- 最后一站 session相关
- 学习笔记5