news 2026/6/25 21:18:37

#c++多态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
#c++多态

虚函数


定义:在基类中使用virtual关键字声明的函数,允许在派生类中重写;

虚函数是在 C++ 基类中用 virtual 关键字声明的成员函数,目的是:允许子类重写(Override)该函数后,通过基类指针 / 引用调用时,自动执行子类的重写版本,而非基类版本

简单来说,虚函数实现了 “一个接口,多种实现

没有虚函数:基类指针指向子类对象时,调用的是基类的函数(静态绑定);

有虚函数:基类指针指向子类对象时,调用的是子类的函数(动态绑定 / 晚绑定)。

演示不用虚函数时的问题,理解为什么需要虚函数
语法格式:
virtual返回值类型函数名(参数列表){
函数体
}
,虚函数的作用:
动态绑定:通过基类指针或引用调用派生类的重写函数,实现运行时多态;
虚函数的注意事项:
派生类中的虚函数:在派生类中重写虚函数时,virtual关键字可省略,但仍为虚函数;
重写规则:必须遵循函数重写的规则,即函数名、参数列表、返回值类型必须相同

不用虚函数时的问题,理解为什么需要虚函数

#include <iostream> using namespace std; // 基类:动物 class Animal { public: // 普通函数(非虚函数) void make_sound() { cout << "通用的动物叫声" << endl; } }; // 子类:猫 class Cat : public Animal { public: // 重写make_sound,但无虚函数加持 void make_sound() { cout << "喵喵喵" << endl; } }; // 子类:狗 class Dog : public
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 21:13:30

FPGA 通过 SPI 模式读写 SD 卡:实现与移植探索

FPGA以SPI模式读写SD卡&#xff0c;已经下板验证通过。 可移植到任何FPGA之中。在数字电路设计领域&#xff0c;FPGA&#xff08;现场可编程门阵列&#xff09;凭借其灵活性和强大的并行处理能力&#xff0c;成为众多项目的首选。而 SD 卡作为常用的存储介质&#xff0c;实现 F…

作者头像 李华
网站建设 2026/6/25 13:07:05

Thinkphp-Laravel电子设备商品商城采购系统的研究与设计

目录摘要项目开发技术介绍PHP核心代码部分展示系统结论源码获取/同行可拿货,招校园代理摘要 随着电子商务的快速发展&#xff0c;电子设备商品商城的采购系统成为企业提升运营效率的关键工具。本研究基于ThinkPHP和Laravel框架&#xff0c;设计并实现了一套高效、安全的电子设…

作者头像 李华
网站建设 2026/6/9 0:36:51

空心正交电感两路线圈信号极值偏移方向

简 介&#xff1a; 摘要&#xff1a;实验研究了空心正交电感测量交变磁场时出现的左右不对称现象。通过对比顺时针和逆时针旋转测量结果&#xff0c;发现两组线圈信号极值存在固定方向的偏移&#xff0c;且该偏移与旋转方向、磁场方位及传感器位置均无关。测试包括改变电磁门方…

作者头像 李华
网站建设 2026/6/18 6:56:30

面向自然科学领域机器学习与深度学习(高维数据预处理—可解释ML/DL—时空建模—不确定性量化-全程AI+Python)

随着观测技术、数值模拟与计算基础设施的迅猛发展&#xff0c;地球系统科学、生态学、环境科学等自然科学领域正迈入“大数据智能模型”驱动的新阶段。传统的统计建模方法虽具可解释性&#xff0c;却难以应对高维、非线性、多源异构的复杂自然系统&#xff1b;而以机器学习和深…

作者头像 李华
网站建设 2026/6/13 11:32:29

用户反馈收集:驱动产品不断进化

用户反馈收集&#xff1a;驱动产品不断进化 Image-to-Video图像转视频生成器 二次构建开发by科哥 在AI生成内容&#xff08;AIGC&#xff09;快速演进的今天&#xff0c;从静态图像到动态视频的跨模态生成正成为创意生产的新前沿。作为开发者“科哥”主导的二次重构项目&#x…

作者头像 李华