我有以下代码:
class Interface
{
virtual void method()=0;
};
class Base : public Interface
{
virtual void method()
{
//implementation here
}
};
class Parent: public Interface
{
};
class Child : public Base, public Parent
{
};
int main()
{
Child c;//ERROR: cannot instantiate abstract class
}
现在我知道为什么会这样了,因为我继承了 Parent 然后我必须再次实现方法。但它已经在基类中定义了,我不想为每个子类覆盖该定义。我认为在 C++ 中有一些标准的方法可以摆脱它(告诉编译器应该使用哪个接口副本)我只是不记得它是什么。