interface IA : IUnknown
interface IB : IA
现IA函数不够用,生成interface IA2 : IUnknown这时IB怎么办
interface IB : IA,IA2出错

解决方案 »

  1.   

    class IB : IA, IA2
      

  2.   

    我的是
    Class CA:
        public IA,  //IA是主接口 
        public IB,  //IB是IA扩展接口
        public IC,  //IC是IA扩展接口
    现在如想重来一个IA2(比如IA中加一个函数,改一个函数)
    能变成
    Class CA:
        public IA,  //IA是主接口 
        public IA2,  //IA是主接口 
        public IB,  //IB是IA,IA2扩展接口
        public IC,  //IC是IA,IA2扩展接口

    先是interface IB : IA,IA2就通不过
    当然直接加IA2就行,可调用时接口要换来换去,就麻烦了
      

  3.   

    class IB : virtual public IA, virtual public IA2
      

  4.   

    interface IA : IUnknown
    interface IB : IA
    改成
    interface IA :public IUnknown
    interface IB : public IA
      

  5.   

    interface不是单纯给C++用的,所以它不能使用多继承,也没有什么public,protected,private等概念。
      

  6.   

    你想完成组建的包容还是聚合呀?
    建议看看com技术内幕
      

  7.   

    既不包容也不聚合,只是在我自已的源代码内再加一接口,
    为了调用方便,有了IA2,新用户就不调用IA了,
    要IA接口调用几个函数,IA2接口调用另几个函数,对组件的使用也太麻烦了。
    考虑以后,我觉得接口最好不要继承,对设计的要求太高了,一发布不易改动。
    就像IUnknown和IDispatch,设计时是很推敲过的。
    现在要升级IUnknown和IDispatch到一个更高级的接口,
    估计组件全不能用了