首页
题库
面试
求职
学习
竞赛
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收藏
12284浏览
热门推荐
相关试题
编程题 ,按照要求创建Java 应...
Java
评论
(1)
微型计算机有三种总线,他们分别是数...
编程基础
评论
(1)
计算机系统中用于管理硬件和软件资源...
编程基础
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
说出3个获取用户需求的方法并简述其...
用户研究
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题