news 2026/5/8 20:11:21

#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/7 11:05:50

PDF-Extract-Kit保姆级指南:定期任务与自动化

PDF-Extract-Kit保姆级指南&#xff1a;定期任务与自动化 1. 引言 1.1 业务场景描述 在日常工作中&#xff0c;许多企业和个人需要处理大量PDF文档&#xff0c;如学术论文、财务报表、合同文件等。这些文档中包含丰富的结构化信息&#xff08;表格&#xff09;、数学公式、文…

作者头像 李华
网站建设 2026/5/1 10:38:05

开源赋能成长!AtomGit「源启高校」走进成都信息工程大学

当开源成为科技行业的创新基石&#xff0c;当高校成为人才培育的核心阵地&#xff0c;一场连接产业前沿与校园学习的技术盛宴如约而至&#xff01;12 月 16 日至 1 月 6 日&#xff0c;AtomGit「源启高校」计划走进成都信息工程大学&#xff0c;连续四周的开源通识课&#xff0…

作者头像 李华
网站建设 2026/5/1 5:51:22

PDF-Extract-Kit持续集成:CI/CD流水线配置

PDF-Extract-Kit持续集成&#xff1a;CI/CD流水线配置 1. 背景与目标 1.1 项目背景 PDF-Extract-Kit 是一个基于深度学习的 PDF 智能内容提取工具箱&#xff0c;由开发者“科哥”二次开发构建。该工具集成了布局检测、公式识别、OCR 文字提取、表格解析等核心功能&#xff0…

作者头像 李华