菱形继承(多继承)

1. 什么是菱形继承

也就是多继承,C++独有的特性。

2. 菱形继承有什么问题?

(1)存在内存浪费,多存一份父类的父类。

(2)容易造成二义性(不知道修改哪一个基本属性)。

3. 如何解决?

虚继承,子类只继承一次父类的父类,继承时带上virtual关键字。

4. 实现原理(内存模型)

通过虚基表指针,找到共同指向的父类。

参考

【【C++面试题】怎么解决C++菱形继承】

菱形继承问题

相关推荐
代钦塔拉2 小时前
C++ auto
开发语言·c++
我命由我123453 小时前
C++ - 面向对象 - 常成员函数
android·java·linux·c语言·开发语言·c++·算法
徐安安_ye13 小时前
FlashAttention与文本生成:让AI妙笔生花
c++·人工智能·mfc
ThornArmor3 小时前
【控制篇】斩断无休止空转:4-bit 指令集里的跳转律令与时序状态机
c语言·汇编·c++·单片机·嵌入式硬件
fpcc3 小时前
并行编程实战——CUDA基础的知识点
c++·cuda
星轨初途6 小时前
【C++进阶】vector 类从入门到精通:核心接口与内存机制实战指南
c语言·开发语言·c++·经验分享·笔记·柔性数组
kyle~6 小时前
GigE Vision---GVCP( GigE Vision Control Protocol,GV控制协议)
linux·c++·机器人·工业相机·传感器
cjhbachelor6 小时前
C++知识点
开发语言·c++
kyle~6 小时前
相机驱动---零拷贝mmap映射
linux·运维·c++·机器人
郝学胜-神的一滴6 小时前
Qt 高级开发 015:C++ 原生实现信号槽机制
开发语言·c++·qt·软件构建·用户界面