个人愚见
基类如果有纯虚函数,派生类类必须实现基类的纯虚函数,IB有2个纯虚函数都要实现。另外《com本质论》4.8节楼主可以参考下
基类如果有纯虚函数,派生类类必须实现基类的纯虚函数,IB有2个纯虚函数都要实现。另外《com本质论》4.8节楼主可以参考下
解决方案 »
- vc 文本输出
- IE连接网络的时候的SOCKET是什么类型的(阻塞?非阻塞?。。。)
- 如何将网页元素 IHTMLElement 存到树节点的 Data 中,并且如何在通过这个 Data 再得到这个 IHTMLElement;还有如何用代码选中这个网页元
- 关于treectrl节点项存储问题,帮帮我吧!!!
- 如何使程序变小
- :谁知道在richedit中插入bitmap后,怎么让插入的bitmap不能被选择???解决超级追分!!!
- 一个困惑的TCP问题,可能很简!单求答案。谢谢!!!!!
- 请问这是什么原因造成的?
- 如何隐隐藏任务栏里指定窗口?
- opencv如何将下面彩图转化成黑白图呢?
- 小白求教,怎么写一个定时提醒弹框
- 串口调试助手问题
1、
IA 有 50个甚至100 个 函数需要实现,Func001()、Func002()、Func003()、......Func100(),然后 我 CA实现了 Func001()、Func002()、Func003()、......Func100()
2、这时,有 接口IB 继承自 接口IA, 类CB 继承自 类CA。这时 类CB 还必须再把 Func001()、Func002()、Func003()、......Func100() 实现一遍!!
3、又有,有 接口ID 继承自 接口IB, 类CD 继承自 类CB 的话。类CD 还是得把 Func001()、Func002()、Func003()、......Func100() 再实现一遍!!我就觉得 当IA 的函数比较多的时候,上面的 类CB 和 类CD 必须实现一遍Func001()、Func002()、Func003()、......Func100() 比较费事啊...
一点都不省事啊,没有发挥出继承的好处啊.........
我 1楼的问题 和 2、3楼纠结的情景 和 com本质论4.8节 不同吧
其实我纠结的点是这个(我再举个例子):
1、
IA 有 50个甚至100 个 函数需要实现,Func001()、Func002()、Func003()、......Func100(),然后 我 CA实现了 Func001()、Func002()、Func003()、......Func100()
2、这时,有 接口IB 继承自 接口IA, 类CB 继承自 类CA。这时 类CB 还必须再把 Func001()、Func002()、Func003()、......Func100() 实现一遍!!
3、又有,有 接口ID 继承自 接口IB, 类CD 继承自 类CB 的话。类CD 还是得把 Func001()、Func002()、Func003()、......Func100() 再实现一遍!!我就觉得 当IA 的函数比较多的时候,上面的 类CB 和 类CD 必须实现一遍Func001()、Func002()、Func003()、......Func100() 比较费事啊...
一点都不省事啊,没有发挥出继承的好处啊.........
CA实现了所有动物的100种基本特征,如吃喝生老病死等。
CB就是具体的继承了,比如说哺乳动物,怎么吃喝、生育等。我觉得楼主不应该去质疑人家虚继承的机制,而应该试着去理解虚继承存在的意义,这才是本质。
而这个方法必须在继承 IB 的接口的实现中实现。否则就存在二义性了。所以,在 ATL 中 , IUnknown 的三个方法都是在最终的 CComObjectXXX 中实现的。