我有以下接口和类
public interface IBase
{
virtual void SomeBaseMethod()=0;
}
public interface IDerived : IBase
{
virtual void SomeOtherMethod()=0;
}
public class base: public IBase
{
void SomeBaseMethod(){};
}
public class derived: public base, public IDerived
{
void SomeBaseMethod(){};
void SomeOtherMethod(){};
}
在派生的类中,我必须重复使用已经在我的类库中实现的SomeBaseMethod(){};'。否则我会得到编译错误。有可能不重复' void SomeBaseMethod(){};'在我的班级派生?
答案 0 :(得分:0)
不幸的是,你必须在这里重复一遍。 C ++具有虚拟继承,可以解决此问题,但您不能将虚拟继承与COM接口一起使用。 Here's an explanation as to why