首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
简述C++中虚继承的作用及底层实现原理?
[问答题]
简述C++中虚继承的作用及底层实现原理?
查看答案及解析
添加笔记
求解答(2)
邀请回答
收藏(171)
分享
纠错
3个回答
添加回答
3
陈木木
虚继承用于解决多继承条件下的菱形继承问题,底层实现原理与编译器相关,一般通过虚基类 指针实现,即各对象中只保存一份父类的对象,多继承时通过虚基类指针引用该公共对象,从而避 免菱形继承中的二义性问题。
发表于 2015-05-05 14:31:43
回复(0)
8
小小娃爱吃甜食
作用:为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。
这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决
了二义性问题,也节省了内存,避免了数据不一致的问题。
底层实现原理:底层实现原理与编译器相关,一般通过虚基类指针实现,即各对象中只保存一份父类的对象,多继承时通过
虚基类指针引用该公共对象,从而避免菱形继承中的二义性问题。
发表于 2015-07-11 10:36:58
回复(0)
0
noble4cc
作用:解决多重继承同名数据的成员的二义性问题。将共同的基类设定为虚继承,可以让同名数据成员只有一份拷贝。
原理:在各个派生类的对象中只保留一个基类对象实体,并有一个指针指向这个对象
发表于 2015-06-06 10:18:24
回复(0)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
上传者:
陈木木
难度:
3条回答
171收藏
12638浏览
热门推荐
相关试题
下面两个传送指令语句中源操作数寻址...
编译和体系结构
评论
(1)
分析以下代码 class Pers...
Javascript
评论
(1)
小O的整数操作
贪心
OPPO
基础数学
评论
(1)
设主存容量为256MB,外存容量为...
操作系统
评论
(1)
执行以下程序,输出结果为() le...
Javascript
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题