菱形继承、菱形虚拟继承、菱形继承中多态问题、菱形虚拟继承中多态问题

news2024/9/27 4:34:49

菱形继承以及菱形继承中的多态问题

  • 一、对象模型
    • (一)菱形继承 & 菱形虚拟继承
    • (一)菱形继承中多态 & 菱形虚拟继承中多态
  • 二、总结

本文主要叙述菱形继承、菱形虚拟继承、菱形继承中多态、菱形虚拟继承中多态,这四种情况下的对象模型,这里的多态主要指的是虚函数指针以及虚函数表在对象模型中是怎样继承的

一、对象模型

(一)菱形继承 & 菱形虚拟继承

在这里插入图片描述

(一)菱形继承中多态 & 菱形虚拟继承中多态

在这里插入图片描述

二、总结

1、菱形继承:数据是独有的,各自都有一份
2、菱形虚拟继承:当会发生数据冗余的时候,数据是共享的,共享同一份数据
3、非菱形继承中虚函数指针继承情况:单继承中会继承父类虚函数指针,自己类中的虚函数地址存放在继承下来的虚函数指针所指向的虚函数表中;多继承中继承几个父类就继承几个虚函数指针,自己类中的虚函数地址存放在第一个继承下来的虚函数指针所指向的虚函数表中。注意:这里说的虚函数指针继承意思是我也会有一个虚函数指针,并不代表虚函数里面的值都是一样的(每个类都有一个各自的虚函数表,实例化的对象指向自己类的虚函数表)
4、菱形继承和虚拟继承中虚函数指针继承情况:菱形继承中虚函数指针依旧遵循菱形继承规则+虚函数指针单继承&多继承规则,菱形虚拟继承中虚函数指针在单继承中会有自己独有的虚函数指针比较特殊

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

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

相关文章

JavaWeb 13.HTTP协议

和自己的情绪共处,永远保持乐观 —— 24.9.26 一、HTTP简介 HTTP 超文本传输协议 (HTTP-Hyper Text transfer protocol),是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出&a…

STL之vector篇(下)(手撕底层代码,从零实现vector的常用指令,深度剖析并优化其核心代码)

文章目录 1.基本结构与初始化1.1 空构造函数的实现与测试1.2 带大小和默认值的构造函数1.3 使用迭代器范围初始化的构造函数(建议先看完后面的reserve和push_back)1.4 拷贝构造函数1.5 赋值操作符的实现(深拷贝)1.6 析构函数1.7 begin 与 end 迭代器 2. …

jQuery——层次选择器

1、层次选择器:查找子元素,后代元素,兄弟元素的选择器。 ancestor descendant:在给定的祖先元素下匹配所有的后代元素 parent > child:在给定的父元素下匹配所有的子元素 prev next:匹配所有紧接在…

每日一练:二叉树的右视图

199. 二叉树的右视图 - 力扣(LeetCode) 一、题目要求 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,…

超详细的 pytest教程 之前后置方法和 fixture 机制

前言 这一篇文章专门给大家讲解pytest中关于用例执行的前后置步骤处理,pytest中用例执行的前后置处理既可以通过测试夹具(fixtrue)来实现,也可以通过xunit 风格的前后置方法来实现。接下来我们一起看看如何具体使用。 一、xunit 风格的前后置方法 1、函数用例的前…

基于STM32的智能家庭安全监控系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 传感器数据采集摄像头监控与数据处理实时报警功能实现应用场景结论 1. 引言 智能家庭安全监控系统使用嵌入式设备,如STM32微控制器,来实时监控家庭环境。通过集成…

[教程]如何在iPhone上启用中国移动/联通/电信RCS消息

目前 苹果已经在 iOS 18 中带来 RCS 富媒体消息的支持,该消息基于网络传递,用户可以通过 RCS 免费将消息发送到其他 iPhone 或 Android 设备。在苹果面向测试版用户推出的 iOS 18.1 Beta 版中,中国网络运营商包括中国移动、中国联通、中国电信…

文献笔记 - Ground effect on rotorcraft unmanned aerial vehicles: a review

这篇博文是自己看文章顺手做的笔记 只是简单翻译和整理 仅做个人参考学习和分享 如果作者看到觉得内容不妥请联系我 我会及时处理 本人非文章作者,文献的引用格式如下,原文更有价值 摘要—— 收集和讨论小型多旋翼无人机受地面效应的影响,…

阿b的弹幕如何获取?这个可以帮到你!

弹幕 前几天,做了一个b站弹幕的爬取,只需要输入一个bv号,就可以查看这个视频的弹幕,并且提供了一种可以写入到文件的方法。但是有人反应,这种使用仍然非常困难,应该提供一个更加友好的用户界面。 因此本期…

共享单车轨迹数据分析:以厦门市共享单车数据为例(八)

副标题:基于POI数据的站点综合评价——以厦门市为例(三) 什么是优劣解距离法(TOPSIS)? 优劣解距离法(Technique for Order Preference by Similarity to Ideal Solution,简称TOPSI…

借用连接2-得到主库或从库池子连接

二、借用连接--AbstractRoutingDataSource类 目的:基于look up data,然后从目标数据源借用连接 注look up key确定走主 or 从数据库连接池代码开发: 1.定义子类继承AbstractRoutingDataSource,并覆写determineCurrentLookupKey方…

Vue3+Element-UI Plus登录静态页

<script setup> import {reactive, ref} from "vue";const formRefref() const formModelreactive({username:,password: }) const formRulesreactive({username:[{required:true,message:请输入账号,trigger:blur}],password:[{required:true,message:请输入密…

深圳前湾地铁附近的13元一份的工地盒饭

因为深圳前海这边有很多工地&#xff0c;所以也存在很多的工地餐厅。发现价格出奇统一&#xff0c;都是13元一份。主打一个量大管饱还下饭&#xff0c;每次都吃得有些撑。前海写字楼下的底商也很多打工人的干饭餐厅&#xff0c;但是工作餐均价都要30。如果不在餐厅吃&#xff0…

高通AI应用程序开发3:网络模型(一)

1. 支持的网络模型 Qualcomm神经处理SDK支持下表所列的网络模型。 有关支持的运行时和单个图层类型的限制和约束的详细信息&#xff0c;请参阅 限制 。 GPU运行时中支持的所有层对两种GPU模式都有效&#xff1a;GPU_FLOAT32_16_HYBRID和GPU_FLAAT16。GPU_FLOAT32_16_HYBRID-…

3分钟!手把手教你学会如何无损放大图片

我们常常遇到需要放大图片却又不希望损失画质的尴尬境地。无论是为了打印大幅海报、在线展示高清细节&#xff0c;还是想要修复珍贵的老照片&#xff0c;无损放大图片成为了许多人的迫切需求。下面给大家分享一款最新无损放大图片软件&#xff0c;高效且实用&#xff0c;一起来…

VMware搭建DVWA靶场

目录 1.安装phpstudy 2.搭建DVWA 本次搭建基于VMware16的win7系统 1.安装phpstudy 下载windows版本&#xff1a;小皮面板-好用、安全、稳定的Linux服务器面板&#xff01; 安装后先开启mysql再开启apache&#xff0c;遇到mysql启动不了的情况&#xff0c;最后重装了phpstud…

如何在Windows和Linux之间实现粘贴复制

第一步 sudo apt-get autorremove open-vm-tools第二步 sudo apt-get update第三步 sudo apt-get install open-vm-tools-desktop第四步 一直按Y&#xff0c;希望执行 Y第四步 重启 reboot然后可以实现粘贴复制。

国内外AI大模型对比,国产AI的优势是什么?非常详细收藏我这一篇就够了

AI正在以惊人的速度改变各行各业的运作方式。 热点趋势解读之AI系列&#xff0c;将通过多篇文章探讨如何利用AI驱动创新、提升效率&#xff0c;并为未来的商业和社会发展提供无限可能。 篇章五&#xff1a;国内外AI大模型哪家强&#xff1f; > 设为星标公众号&#xff0c…

我校教师当选为中国计算机学会(CCF)杰出会员

近日&#xff0c;中国计算机学会&#xff08;CCF&#xff09;会员评选委员会发来贺信&#xff0c;祝贺我校信息技术学院大数据技术科研创新团队负责人陈天伟老师当选CCF杰出会员(CCF Distinguished Membership)&#xff0c;并高度评价了陈天伟的专业造诣和长期以来对CCF发展的贡…

Navicat连接数据库

一、MySQL地卸载&#xff1a; 二、Navicat连接数据库&#xff1a; 安装navicat的安装&#xff1a; 错误解决方法&#xff1a; 实验过程&#xff1a; 在本地sql数据库可以访问&#xff0c;说明数据库开启 用navicat连接&#xff1a;出现问题&#xff1a; 将mysql用户登录的加密…