news 2026/6/8 15:40:24

#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/5/28 22:49:13

【共价键】从氢原子到DNA的生命之桥

原子之间的“电子牵手”&#xff0c;构成了我们世界的基础你是否曾想过&#xff0c;水为什么是液态的&#xff1f;钻石为什么如此坚硬&#xff1f;DNA 为什么能储存遗传信息&#xff1f;所有这些看似不同的问题&#xff0c;都有一个共同的答案&#xff1a;共价键。今天&#xf…

作者头像 李华
网站建设 2026/6/7 13:48:47

零基础也能懂的机器学习核心概念解读

一、核心概念解读 1. 机器学习&#xff08;ML&#xff09; 专业定义&#xff1a;一门让计算机无需被明确编程就能从数据中学习并改进的学科&#xff0c;其核心是构建能从经验&#xff08;数据&#xff09;中自动提炼规律、并用于预测或决策的系统。 通俗解读&#xff1a;就像教…

作者头像 李华
网站建设 2026/6/7 3:10:11

网络安全行业,国内未来网络安全细分领域赛道谁会是黑马?

网络安全行业&#xff0c;国内未来网络安全细分领域赛道谁会是黑马&#xff1f; “那个细分领域会是未来行业的黑马&#xff1f;” 网络安全行业&#xff0c;比较权威的最新趋势来源主要是IDC。 IDC的影响可谓深远&#xff0c;这从很多网络安全公司的年报和包年报数据就能看得…

作者头像 李华
网站建设 2026/6/5 22:55:42

连续10年霸榜中国大学最高薪专业,它凭什么?

连续10年霸榜中国大学最高薪专业&#xff0c;它凭什么&#xff1f; 同样是应届生&#xff0c;有人试用期工资连房租都不够&#xff0c;有人却刚毕业就拿 8k&#xff0c;甚至入职大厂直接月薪 15k—— 这不是 “运气差”&#xff0c;而是选对了专业。 有个专业&#xff0c;202…

作者头像 李华