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

继承多个接口时出现有关问题

2012-03-27 
继承多个接口时出现问题最近遇到一个问题,特向高手请教。有两个接口,InterfaceA和InterfaceB,这两个接口都

继承多个接口时出现问题
最近遇到一个问题,特向高手请教。
有两个接口,InterfaceA和InterfaceB,这两个接口都有同一个接口方法。程序如下:
class InterfaceA{
public:  
  virtual void func()=0;
};

class InterfaceB{
public:  
  virtual void func()=0;
}
现在,我的类需要实现同时实现这两个接口。
class myClass:public InterfaceA,public InterfaceB
{
public:
  //现在如何分别实现这两个接口呢?
};

InterfaceA和InterfacB都是有第三方提供,我没办法更改。
请高手们赐教!

[解决办法]
做一个夹层,这种方法是可移植性最好的。

C/C++ code
class IA:public InterfaceA{public:void   func(){}};class IB:public InterfaceB{public:void   func(){}};class myClass:public   IA , public   IB {};
[解决办法]
C/C++ code
class InterfaceA{public:            virtual   void   func()=0;};class InterfaceB{public:            virtual   void   func()=0;};class MyClass : public InterfaceA, public InterfaceB{public:    virtual void InterfaceA::func()    {        printf("A");    }    virtual void InterfaceB::func()    {        printf("B");    }}; int main(int argc, _TCHAR* argv[]){    MyClass* p = new MyClass();    ((InterfaceB*)p)->func();    return 0;} 

热点排行