| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2149 人关注过本帖
标题:多继承中的二义性问题
只看楼主 加入收藏
xg5699
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:140
专家分:522
注 册:2011-7-27
收藏
得分:0 
你基类的析构函数没有定义为虚析构函数virtual ~~Base(){};
其次将你的class Base2:public Base改为class Base2:virtual public Base就通过了

我对virtual的概念很不清,但只要碰到二义性问题加virtual就是王道,你的代码我看都没怎么看
在class Base2:public Base没加virtual的情况果断加上就通过

其实对于公共基类Base说明为虚基类的话那么只会派生Base中的一个函数了,不然base2派生出的子类会有base2类中的一个函数和Base类中的一个函数
从而2义了.

[ 本帖最后由 xg5699 于 2011-7-30 22:59 编辑 ]

都不结贴我郁闷那!
2011-07-30 22:43
jfckpep
Rank: 1
等 级:新手上路
帖 子:40
专家分:2
注 册:2010-4-25
收藏
得分:0 
回复 11楼 xg5699
谁都知道改为class Base2:virtual public Base就可以通过了啊,只是这样改了就跟他题目想说的不一样了,另一个问题是没改前再VC6.0一样能编译通过
2011-07-31 11:05
快速回复:多继承中的二义性问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017098 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved