关于多重继承的问题(菱形继承,atl中如何把接口的相同的实现提取到基类中。。)
用atl写com时,多个类继承一个接口,这个接口中的有些方法有相同的实现
所以我决定把这些相同的实现提到一个基类中,
IA
/ \
CB1 CB2
\ /
CC
比如IA中有3个方法,a1,a2,a3;
CB1实现了方法a1,CB2实现了方法a2,CC实现了方法a3
但是这样出现一个问题,说不能实例化CC,警告提示CB2没有实现IA的a1方法
在这里CB2也是抽象基类,根本不用实例化。。。但是我最终保证CC实现了IA中的3个方法(a1时在CB1中实现的,a2是在CB2中实现的,a3是在CC中实现的)
请问这个问题如何解决???