我想使用具体类提供的实现从接口实现纯虚拟方法,而不必显式调用具体类中的方法。例子:
class InterfaceA{  
public:  
    virtual void foo() = 0;  
};
class InterfaceB:public InterfaceA{  
public:  
   virtual void bar() = 0;  
};
class ConcreteA : public InterfaceA{  
public:  
   virtual void foo(){}//implements foo() from interface  
};
class ConcreteAB: public InterfaceB, public ConcreteA{  
public:  
    virtual void bar(){}//implements bar() from interface  
};
在这种情况下,编译器要求在 ConcreteAB 类中实现 foo(),因为 InterfaceB 没有实现它并且它继承自 InterfaceA。
有一种方法可以告诉编译器使用来自 ConcreteA 的实现,而不使用调用 ConcreteA::foo() 的包装器?