首页
题库
面试
求职
学习
竞赛
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收藏
12487浏览
热门推荐
相关试题
如图 1 表示使用快表(页表)的虚...
编程基础
评论
(1)
对于我们来说,谁是好的顾客?
销售常识
评论
(1)
小红书用户在不同使用场景下,对内容...
需求分析
评论
(1)
MySQL中执行 SELECT I...
SQL
评论
(1)
订单表order_table全部记...
查找
数据库
数据分析
SQL
评论
(2)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题