纯虚函数定义与特征
- 语法格式
virtual 返回值 函数名(参数列表) = 0;
● 开头必须加 virtual,末尾赋值 =0,没有函数实现体 - 包含至少一个纯虚函数的类 = 抽象类
- 抽象类内部可以同时存在普通成员变量、普通成员函数、虚函数、纯虚函数,不只能写纯虚函数
抽象类核心特征
- 禁止实例化:不能直接 抽象类 变量; 或者 new 抽象类 创建对象
- 强制约束子类:所有继承抽象类的子类,必须重写全部纯虚函数;如果子类不全实现,子类也会变成抽象类,同样不能创建对象
- 作用:定义统一接口规范,统一约束所有子类的行为
抽象类意义与价值
- 规范约束:给所有子类定下必须实现的功能接口,保证子类行为格式统一
- 统一多态管理:可以用抽象类指针 / 引用接收任意子类对象,编写一套通用代码操作全部子类
- 扩展性强:新增子类时,只要实现纯虚接口,原有通用代码完全不用修改
案例
1:银行利率业务
抽象父类(银行基类)

运行结果:
各大银行存款利率查询
当前年利率:1.95%
当前年利率:2.1%
2:批量统一遍历统计(统一管理子类)

无抽象类的弊端
如果不用抽象类 + 纯虚函数,工行、建行是两个完全无关的类,无法用同一个指针数组存放,必须分开写两套打印逻辑,代码冗余、难维护
速记总结
- 纯虚函数:virtual fun() = 0; 无实现体
- 含纯虚函数 → 抽象类,不能造对象
- 子类必须重写全部纯虚函数,否则子类也是抽象类
- 核心用途:定接口规范 + 多态统一批量管理多个子类