当前位置: 首页 > article >正文

C++学习,多态虚函数

多态字面意思是多种形态,当类之间存在层次结构,并且类之间是通过继承时,就会用到多态。多态允许通过基类指针或引用来调用派生类中的成员函数。这种机制允许函数,在运行时根据对象的实际类型来确定执行哪个函数,从而实现一个接口,多种实现的效果。

 

虚函数:

虚函数是实现多态性的基础,通过在基类中将成员函数声明为 virtual,允许该函数在派生类中被重写(Override)。通过基类指针或引用来调用虚函数时,如果指针或引用实际上指向派生类对象,那么将调用派生类中的函数版本,这就是多态性的表现。

虚函数示例:

class Base {  
public:  
    virtual void show() {  
        cout << "Base show()" << endl;  
    }  
};  
 
class Derived : public Base {  
public:  
    void show() override { // C++11 中推荐使用 override 关键字明确指定为重写  
        cout << "Derived show()" << endl;  
    }  
};  
 
int main() {  
    Base* ptr = new Derived();  
    ptr->show(); // 输出 Derived show(),体现了多态性  
    delete ptr;  
    return 0;  
}

 


http://www.kler.cn/news/304663.html

相关文章:

  • LeetCode:2390. 从字符串移除*号 使用栈,时间复杂度O(N)
  • 计算机视觉中,Pooling的作用
  • 系统架构师考试学习笔记第五篇——架构设计补充知识(26)论文写作
  • 炫酷HTML蜘蛛侠登录页面
  • CentOS 7官方源停服,配置本机光盘yum源
  • 无人机视角的道路损害数据集,2400张图像,包括纵向裂缝(LC)、横向裂缝(TC)、鳄鱼裂缝(AC)、斜裂(OC)、修补(RP)和坑洞(PH),共2.3GB
  • OpenCV-Python笔记(上)
  • Kubernetes 持续集成与交付(CI/CD)
  • 学习平台|基于java的移动学习平台系统小程序(源码+数据库+文档)
  • UE5 阴影通道
  • 计算机毕业设计 大学志愿填报系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 基于 SpringBoot 的私人健身与教练预约管理系统
  • Git常用命令与基本操作(包括搭建git环境)
  • ResNet(Residual Network)网络介绍
  • [linux 驱动]misc设备驱动详解与实战
  • 【Python小知识 - 2】:在VSCode中切换Python解释器版本
  • 王者荣耀改重复名(java源码)
  • 服务器数据增量迁移方案-—SAAS本地化及未来之窗行业应用跨平台架构
  • Java项目: 基于SpringBoot+mybatis+maven新闻推荐系统(含源码+数据库+毕业论文)
  • 【vue-media-upload】一个好用的上传图片的组件,注意事项
  • 道路检测-目标检测数据集(包括VOC格式、YOLO格式)
  • Jenkins、Ansible 和 Git 的自动化部署教程
  • 使用C++实现一个支持基本消息传递的TCP客户端和服务器
  • 精准学:用一根垂直大模型支柱,撑起教育普惠的未来
  • 私域流量的价值探索:开源链动 2+1 模式、AI 智能名片与 S2B2C 商城小程序的助力
  • Apache POI 学习
  • Linux的luks设备上的分区名字的一个现象
  • Docker镜像下载-使用github action- 解决无法下载docker镜像的问题
  • Apache Spark Streaming技术深度解析
  • IP core 在硬件上实现的流程