这是当前的情况:
class Base {
virtual void methodA() = 0;
virtual void methodB() = 0;
};
class Base_A : public Base {
void methodA();
void methodB();
};
class Base_B : public Base {
void methodA();
void methodB();
};
class MyClass {
private:
Base * b;
};
当我编译它时,会出现以下错误信息:
错误: 不能将MyClass::b声明为抽象类型,因为在Base中以下虚函数是纯虚函数:
Base::methodA()
Base::methodB()
如何解决这个问题?
更新:现在已经编译成功了。我不知道我改变了什么。
Base * b;
而不是Base b;
吗? - sharptooth