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

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

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

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

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

一、对象模型

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

在这里插入图片描述

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

在这里插入图片描述

二、总结

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


http://www.mrgr.cn/news/36875.html

相关文章:

  • 【C++与数据结构】搜索二叉树(BinarySearchTree)
  • 【WSL——Windows 上使用 Linux 环境】
  • 关于vue2+uniapp+uview+vuex 私募基金项目小程序总结
  • note-Redis实战6 核心-构建应用程序组件2
  • 云手机的默认ip地址是什么
  • Cgroup介绍
  • p,div等里面支持br换行 对应后台换过来的textarea的富文本内容
  • 书生大模型实战营学习[7] InternLM + LlamaIndex RAG 实践
  • 集翼智能视频营销管理平台 丨OPENAIGC开发者大赛企业组AI创作力奖
  • 【CAS框架自定义登录异常提示-固定时间内限制登录失败次数提醒】
  • 手机也可以更换任意IP地址吗?
  • 无人机之物流货运篇
  • Rust编程的if选择语句
  • 通过Sovit2D在ARMxy边缘计算网关上实现工艺控制
  • Vue3+Vite中引用Swiper11自动轮播、左右切换不生效,已解决
  • AI中医香方仪丨OPENAIGC开发者大赛企业组AI创作力奖
  • RS485通信(串口通信)超时模式与固定字节接收模式(不定长数据包、长度固定数据包)
  • 如何在谷歌浏览器上玩大型多人在线游戏
  • SQL Server的文本和图像函数
  • 移动CRM应用排名