Qt学习--多态(虚函数)

news2025/2/25 18:21:18

这次来分享多态的概念,这是比较重要的知识点

面向对象的三大特征:封装、继承、多态

首先:来点官方术语:

多态,通俗来讲就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。比如,在买票这一行为,普通人买票是全价买票,学生买票是半价买票,而军人买票是优先买票;再比如动物园的动物叫这个行为,不同的动物叫声是不一样的。这些都是生活中多态的例子。

文字都是不容易理解的。上面一堆,初学者肯定看的糊里糊涂。那么,我们就用代码来解释

这里我用2种不同的写法来形象是说明,区分出来。不同的地方是:一个用到了虚函数,一个没用虚函数,看看有什么区别。

1.没用虚函数

这里都是调用父类的动物叫,这是为什么呢?
这里就涉及到了一个概念叫:早地址和晚地址

早地址:在你还没运行之前,就确定了要编译的内容

晚地址:通过程序执行,才知道要编译的内容

没加  virtual 都默认不是虚函数,加了virtual说明这个函数是虚函数,什么是虚函数呢?虚函数就是这个函数的功能还不是很确定,是很虚的,具体功能由后面的派生类重写来实现具体的功能。

2.用了虚函数

这就是多态的实现方法,这里主要关键是虚函数。这个知识点是非常重要的

而虚函数的定义也是非常简单的,就是加个virtual

总结:
多态满足条件
●有继承关系
●子类重写父类中的虚函数


多态使用条件
●父类指针或引用指向子类对象
重写:函数返回值类型函数名参数列表完全-致称为重写

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

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

相关文章

深度解析 Android 系统属性

目录 Android系统属性 1.属性在哪里? 2.属性长什么样? 3.如何读写属性: 4.属性的作用 属性文件生成过程 如何添加系统属性 1.添加系统属性到 /system/build.prop 2.添加系统属性到 /vendor/build.prop 3.添加系统属性到 /product/b…

【C++】string 类---字符判断与大小写转换(超详细解析!)

目录 一、string 类的介绍 二、字符大小写转换与判断常用函数 💦 字符大小写判断 ① isalpha() ② isalnum() ③ isdigit() ④ islower() ⑤ isupper() 💦 字符大小写转换 ① tolower() ✨方法一: ✨方法二: ② toupper() ✨方…

为什么说金融/财务人需要学Python??

Python 是财务人和金融人的多功能工具箱!它有非常多的细分应用,接下来我将给你详细介绍为什么财务、金融方向需要学 Python 以及有哪些方向的细分应用! 一、为什么金融/财务人需要 Python? 想在行业中崭露头角?那你可…

106 基于消息队列来做 mysql 大数据表数据的遍历处理

前言 最近有这样的一个需求, 我们存在一张 很大的 mysql 数据表, 数据量大概是在 六百万左右 然后 需要获取所有的记录, 将数据传输到 es 中 然后 当时 我就写了一个脚本来读取 这张大表, 然后 分页获取数据, 然后 按页进行数据处理 转换到 es 但是存在的问题是, 前面 还…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典(网上收集自己补充) 2.klf_2数字问题如何解决了?|count |length都被禁? 3.klf_3 前记 从基础到自己构造paylo…

java String的深入了解

1、String 概述 (1)String 类在 java.lang 包下,所以使用的时候不需要导包。 (2)String 类代表字符串,Java程序中的所有字符串文字(例如“abc”)都被实现为此类的实例。也就是说&a…

【漏洞复现】用友U8Cloud base64 SQL注入漏洞

0x01 产品简介 用友U8 Cloud是用友推出的新一代云ERP,主要聚焦成长型、创新型企业,提供企业级云ERP整体解决方案。 0x02 漏洞概述 用友U8 Cloud 存在SQL注入漏洞,未授权的攻击者可通过此漏洞获取数据库权限,从而盗取用户数据&a…

Leetcode 48. 旋转图像

心路历程: 第一次需要这种类型的题。 一开始从双指针、递归、栈队的角度去思考问题,没有发现明显的特征。 后来想到这个算是二维数组问题,应该也是双指针的一种。 总感觉有什么妙招可以一下子解决,但是没想出来就去找的网上的答案…

Android 之 GMS 认证知多少?

GMS认证 1.什么是GMS GMS全称Google Mobile Service,谷歌移动服务。 为什么要通过GMS认证 Android 系统是开源的,但是 Google 针对GMS所提供的服务却是收费的,比如Google Map,Google Play,Youtube,Gmai…

Stable Diffusion + Segment Anything试用

安装 从continue-revolution/sd-webui-segment-anything安装插件分割模型下载后放到这个位置:${sd-webui}/extension/sd-webui-segment-anything/models/sam下,可以下载3个不同大小的模型,从大到小如下:vit_h is 2.56GB, vit_l i…

嵌入式汇编语言简介

嵌入式汇编语言是一种在嵌入式系统开发中广泛使用的编程语言,它直接操作底层硬件资源,具有高效性和灵活性。本文将介绍嵌入式汇编语言的基本概念、特点以及应用场景。 以下是我整理的关于嵌入式开发的一些入门级资料,免费分享给大家&#xf…

零售饮料企业通过精准铺货与动态调整,结合指标平台的智能分析,实现对线下渠道的全面掌控

作为一名消费者,炎热的夏天我们会走进一家便利店,从冰柜中选出一瓶汽水;下午工作有点累了,我们会在公司的自动贩卖机扫码买一瓶快乐水......零售品牌从线上到线下渠道都开展了激烈的竞争,从供应链、物流到销售环节&…

转座子插入序列分析1-GENE-IS分析管道

如果你使用 GENE-IS: Saira Afzal et al。 ,2016请引用这篇研究文章。GENE-IS: time-efficient and accurate analysis of viral integration events in large-scale gene therapy data. Molecular Therapy - Nucleic Acids 2016, vol. 6:133-139. DOI:https://doi.…

规划系列的常见术语:龙格现象、控制点、型值点和插值点、规划控制的开环、闭环、前馈、反馈与重规划

参考b站大佬Ally的规划控制系列 1 龙格现象 1.1 初探龙格现象 龙格现象由德国数学家Carl Runge(卡尔龙格)于1901年发现,龙格函数定义为: f ( x ) 1 25 x 2 1 f(x)\frac{1}{25 x^{2}1} f(x)25x211​ 我们在 [ − 1 , 1 ] [-1…

MNN createRuntime(二)

系列文章目录 MNN createFromBuffer(一) MNN createRuntime(二) MNN createSession 之 Schedule(三) MNN createSession 之创建流水线后端(四) MNN Session::resize 之流水线编码&am…

后端开发要不要转鸿蒙?

看到一条很有意思的提问,互联网太卷了,熬过了2023才发现,2024更难熬!只因行业发展多年,人才过度饱和!那后端的出路在哪里? 我推荐大家学【鸿蒙应用开发】新兴行业需求大,各大厂都在…

AI大模型智能大气科学探索之:ChatGPT在大气科学领域建模、数据分析、可视化与资源评估中的高效应用及论文写作

本文深度探讨人工智能在大气科学中的应用,特别是如何结合最新AI模型与Python技术处理和分析气候数据。课程介绍包括GPT-4等先进AI工具,旨在帮助大家掌握这些工具的功能及应用范围。本文内容覆盖使用GPT处理数据、生成论文摘要、文献综述、技术方法分析等…

camunda流程引擎事务管理和乐观锁

本文重点介绍camunda开源流程引擎的事务配置,以及在高并发多线程情况下,可能会发生多个线程尝试对相同流程实例数据进行更改的情况,Camunda如何通过数据库的乐观锁解决这种并发冲突的,并介绍了乐观锁和悲观锁的适用场景、性能影响…

MySQL数据库概念及安装

一、数据库的基本概率 1.1 数据 记录每个人的信息 或者记录数据 1.2 表 存放信息的集合 或者存放行和列的信息 1.3 数据库 表的集合 二、数据库管理系统(DBMS) 2.1 DBMS定义 (DBMS)是一种软件,用于创建和管理…

【Python脚本随手笔记】 --- 复制文件并修改权限

💌 所属专栏:【Python脚本随手笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…