C++纯虚函数

纯虚函数定义与特征

  1. 语法格式
    virtual 返回值 函数名(参数列表) = 0;
    ● 开头必须加 virtual,末尾赋值 =0,没有函数实现体
  2. 包含至少一个纯虚函数的类 = 抽象类
  3. 抽象类内部可以同时存在普通成员变量、普通成员函数、虚函数、纯虚函数,不只能写纯虚函数

抽象类核心特征

  1. 禁止实例化:不能直接 抽象类 变量; 或者 new 抽象类 创建对象
  2. 强制约束子类:所有继承抽象类的子类,必须重写全部纯虚函数;如果子类不全实现,子类也会变成抽象类,同样不能创建对象
  3. 作用:定义统一接口规范,统一约束所有子类的行为

抽象类意义与价值

  1. 规范约束:给所有子类定下必须实现的功能接口,保证子类行为格式统一
  2. 统一多态管理:可以用抽象类指针 / 引用接收任意子类对象,编写一套通用代码操作全部子类
  3. 扩展性强:新增子类时,只要实现纯虚接口,原有通用代码完全不用修改

案例

1:银行利率业务

抽象父类(银行基类)

运行结果:

各大银行存款利率查询

当前年利率:1.95%

当前年利率:2.1%

2:批量统一遍历统计(统一管理子类)

无抽象类的弊端

如果不用抽象类 + 纯虚函数,工行、建行是两个完全无关的类,无法用同一个指针数组存放,必须分开写两套打印逻辑,代码冗余、难维护

速记总结

  1. 纯虚函数:virtual fun() = 0; 无实现体
  2. 含纯虚函数 → 抽象类,不能造对象
  3. 子类必须重写全部纯虚函数,否则子类也是抽象类
  4. 核心用途:定接口规范 + 多态统一批量管理多个子类
相关推荐
霸道流氓气质10 分钟前
AgentFlow 入门与实战:Task-Based 并发、EWMA 动态调度与四道门禁的 Java 生产级编排
java·开发语言
是真的小外套14 分钟前
第14章:恶意代码防范技术原理与应用
网络·网络安全
释厄6231 小时前
错误无误公理——错误正确本同源都迭代定律——逆转有价值
android·开发语言·kotlin
2601_962885721 小时前
如何用 Python计算 CR能量指标(中间意愿指标)?
开发语言·python
听说6661 小时前
信息安全工程师 - 第二十三章 云计算安全需求分析与安全保护工程
网络·安全·web安全·网络安全·云计算·系统安全
hetao17338371 小时前
校内场-提高组 ZYZSC-S-Round 2
c++·算法
hetao17338372 小时前
2026-10-14 hetao1733837 的刷题记录
c++·算法
临床数据科学和人工智能兴趣组2 小时前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
蜗牛互联网2 小时前
Python调用Gemini Structured Outputs实现工单路由门禁
java·开发语言·人工智能·python
罗斯8392 小时前
Datalog与安全分析
算法·安全·网络安全