多态的概念和意义

news2025/1/6 19:58:29

函数重写回顾

父类中被重写的函数依然会继承给子类

子类中重写的函数将覆盖父类中的函数

通过作用域分辨符 (::) 可以访问到父类中的函数

 

面向对象中期望的行为

根据实际的对象类型判断如何调用重写函数

父类指针 (引用) 指向

  • 父类对象则调用父类中定义的函数
  • 子类对象则调用子类中定义的重写函数

面向对象中多态的概念

根据实际的对象类型决定函数调用的具体目标

同样的调用语句在实际运行时有多种不同的表现形态

 

C++ 语言直接支持多态的概念

通过使用 virtual 关键字对多态进行支持

被 virtual 声明的函数被重写后具有多态概念

被 virtual 声明的函数叫做虚函数

多态的意义

在程序运行过程中展现出动态的特性

函数重写必须多态实现,否则没有意义

多态是面向对象组件化程序设计的基础特性

理论中的概念

静态联编

  • 在程序的编译期间就能确定具体的函数调用
    • 如:函数重载

动态联编

  • 在程序实际运行后才能确定具体的函数调用
    • 如:函数重写

小结

函数重写只可能发生在父类与子类之间

根据实际的对象类型确定调用的具体函数

virtual 关键字是 C++ 中支持多态的唯一行为

被重写的虚函数可表现出多态的特性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/918348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开始MySQL探索——数据库概述

计算机语言 计算机语言概述 计算机语言(Computer Language)可以简单的理解为一种计算机和人都能识别的语言。 机器语言 汇编语言 高级语言 机器语言 汇编语言 高级语言 SQL语言基础 SQL的概述 SQL全称:Structured Query Language&…

如何将远程支持融入企业运营

远程支持软件曾是一款“锦上添花”的工具,现在已成为 IT 堆栈的必要组成。随着企业的快速数字化以及对居家办公的需求不断增长,远程支持系统成为任何企业的重要工具。 远程支持软件可以提高问题解决速度、节省时间和资源,确保业务运营不间断…

LC balun设计

文章目录 1 、LC balun理论推导2、ADS仿真验证结果2.1原理图 3、复数阻抗的LC balun设计3.1示例13.2、示例1的ADS仿真验证3.3示例23.4示例2的ADS仿真结果 4、others 1 、LC balun理论推导 LC 巴伦的拓扑结构如下: 根据电流电压方程有: 化简过程如下&am…

AIGC如何借AI Agent落地?TARS-RPA-Agent破解RPA与LLM融合难题

文/王吉伟 大语言模型(LLM,Large Language Model)的持续爆发,让AIGC一直处于这股AI风暴最中央,不停席卷各个领域。 在国内,仍在雨后春笋般上新的大语言模型,在持续累加“千模大战”大模型数量的…

ARM DIY(二)配置晶振频率

文章目录 前言串口乱码问题定位内核修改晶振频率uboot 修改晶振频率番外篇 前言 上篇文章《ARM DIY 硬件调试》介绍了 DIY ARM 板的基础硬件焊接,包括电源、SOC、SD 卡座等,板子已经可以跑起来了。 但是发现串口乱码,今天就来解决串口乱码问…

CSS 实现页面底部加载中与加载完毕效果

效果图 实现代码 <view class"bottom-load-tip"><view class"line-tip"></view><view class"loading-animation" v-if"!lastPage"></view><view>{{ lastPage ? "没有更多了" : "…

科技政策 | 四川省科学技术厅关于发布2024年第一批省级科技计划项目申报指南的通知

原创 | 文 BFT机器人 近日&#xff0c;四川省科学技术厅发布了2024年第一批省级科技计划项目申报指南&#xff1b;其中包括自然科学基金项目、重点研发计划、科技成果转移转化引导计划、科技创新基地&#xff08;平台&#xff09;和人才计划。 01 自然科学基金项目 实施周期 …

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II&#xff0c;494. 目标和&#xff0c;474.一和零 1049. 最后一块石头的重量 II494. 目标和回溯算法动态规划 474.一和零 1049. 最后一块石头的重量 II 题目链接 视频讲解 有一堆石头&#xff0c;用整数数组 ston…

API接口变更频繁,协作效率低?试试Apipost

在团队协作开发和API管理过程中&#xff0c;API接口变更频繁、变更信息得不到及时同步且同步后沟通效率低&#xff0c;各个环节人员处理问题节奏不统一等等&#xff0c;都是在API开发中很多开发者面临的痛点。 这些痛点可能会导致工作进度受阻、出现重复动作等多个问题&#x…

化繁为简,使用Hibernate Validator实现参数校验(一)

目录 前言 环境配置 导入依赖 基础校验 校验注解 参数绑定 PathVariable RequestParam RequestBody Validated Valid 单参校验 对象校验 分组校验 顺序校验 前言 在之前的悦享校园的开发中使用了SSM框架&#xff0c;由于当时并没有使用参数参数校验工具&#xf…

如何向学校图书馆推荐数据库?

学校图书馆在满足师生学习和研究需求方面起着至关重要的作用。作为一名学生或研究员&#xff0c;您可能会意识到某些数据库对于学校的教学和研究至关重要。遇到拥有优质数据的数据库如何向学校图书馆推荐呢&#xff1f; 一、了解学校需求。 在向学校图书馆推荐数据库之前&…

WMS精细化库存管理

在现代供应链管理中&#xff0c;仓储和库存管理起着至关重要的作用。仓库管理系统&#xff08;WMS&#xff09;作为一种关键工具&#xff0c;通过精细化库存管理&#xff0c;提高了仓库操作的效率和准确性。 一、概述WMS精细化库存管理 WMS精细化库存管理是指利用先进的信息技…

【1++的数据结构】之map与set(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的数据结构】 文章目录 一&#xff0c;关联式容器与键值对二&#xff0c;setset的使用 三&#xff0c;mapmap的使用 四&#xff0c;multiset与multimap 一&#xff0c;关联式容器与键值对 像l…

linux文本三剑客

linux文本三剑客 1、grep2、sed 1、grep 过滤 参数用法作用-igrep -i STRING xxx.txt从xxx.txt文件查找不区分大小写STRING-wgrep -w STRING xxx.txt精确匹配STRING-egrep -e STRING1 -e STRING2 xxx.txt查找多个STRING行-ngrep -n STRING xxx.txt查看STRING 在第几行-vgrep …

亚马逊秒杀有什么作用

亚马逊的秒杀活动具有多方面的作用&#xff0c;对于消费者、亚马逊自身以及卖家来说都有一定的影响和作用&#xff1a; 1、吸引消费者和增加销售额&#xff1a;秒杀活动的低价优惠通常会吸引大量的消费者&#xff0c;促使他们在限定的时间内购买商品。这有助于增加销售额和订单…

React+Typescript从请求数据到列表渲染

我们在项目src目录下创建一个目录 叫 pages 在里面创建一个组件叫 list.tsx 这里 我启动了自己的java项目 创建接口 你们就也需要弄几个自己的接口做测试 然后 list.tsx 编写代码如下 import * as React from "react";export default class hello extends React.C…

空调企业只干空调,卡萨帝却干了业主想不到的事

作者 | 曾响铃 文 | 响铃说 今年入夏以来&#xff0c;随着气温的不断攀升&#xff0c;空调已经成为生活、工作中的“绝对刚需”。由此而来的则是空调产品的销量大增。 但也有不少消费者表示&#xff0c;随着产品功能的越发相似&#xff0c;价格趋同&#xff0c;使空调变得越…

前端显示gif流文件,gif图验证码

1、前端界面展示效果图&#xff1a;gif动态图片 2、接口获取流文件 3、接口配置 export function getBlob(params){return request({url: /session/generatorCode,method: get,params,catchAll:true,responseType:"arraybuffer"}) }4、数据处理 getBlob({key:thi…

【微服务】spring 条件注解从使用到源码分析详解

目录 一、前言 二、spring 条件注解概述 2.1 条件注解Conditional介绍 2.2 Conditional扩展注解 2.2.1 Conditional扩展注解汇总 三、spring 条件注解案例演示 3.1 ConditionalOnBean 3.2 ConditionalOnMissingBean 3.2.1 使用在类上 3.2.2 使用场景补充 3.3 Condit…

The last packet sent successfully to the server was 0 milliseconds ago.报错

报错图&#xff1a; 解决方法 多半是代码拼写错误&#xff0c;如localhost拼成local。 注意驱动版本应与mysql版本对应 maven包配置按照自己下的位置设置&#xff0c;最好不要默认