首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

com为何不使用虚继承?

2012-10-14 
com为什么不使用虚继承??两个问题第二个才是与com相关的话题C/C++ code1.虚继承的概念问题无论是祖父类中

com为什么不使用虚继承??
两个问题

第二个才是与com相关的话题 


C/C++ code
1.虚继承的概念问题无论是祖父类中有虚函数或者无虚函数,无论是祖父类中有虚函数或者无虚函数无论是祖父类中有虚函数或者无虚函数当2个或者2个以上的父亲类继承该祖父类,然后孙子类 为了多个祖父,所以可以在父亲类继承祖父类的时候,加上关键字virtual修饰。 就可以避免了多个祖父。如果父亲类中有1个或者多个 已经override了 祖父类中的虚函数,会如何呢?问题2: 看图,这是潘爱民的书上的截图,作者特意强调不用虚继承。作者为什么不采用虚继承???一般而言,至少书上的例子, 图中IDictionary, ISpellCheck 都增加了自己的虚函数。但是没有实现 祖父类IUnknown中的虚函数!!!  我是从光盘里看了代码得出的结论。









[解决办法]
探讨
还有:编译器 不能保证前4个自己是虚函数表的地址。 所以 你回答啊有些牵强了。



再者:虚继承仅仅是保证祖父类只有一份而已。

你说的 祖父虚函数表和2个父亲的虚函数表 在上自身的虚函数表, 一共4张表 合并成一张。

不知道从什么地方得出的结论啊

[解决办法]
IUnkonwn怎么有数据啊?不就是那三个虚函数嘛? QueryInterface,AddRef,Release嘛?
哪有数据啊。

热点排行