有什么问题?我认为,这是正确面向对象问题C++
class A{
public:
virtual bool isGun() = 0;
virtual bool isArmor() = 0;
};
class B: public A{
public:
virtual bool isGun(){ return true; }
};
int main(){
B* b = new B;
}
A :: isArmor() - 定义为其他类
我真的需要定义所有子类的所有纯虚函数?
你的类定义中没有'print'。 –
是什么让你相信'A :: isGun()'在你的例子中被调用,而不是'B :: isGun()'?如果没有定义它,那么如何调用'A :: isGun()'even *? –
为什么你认为'A :: isGun()'被调用?这将是一个绝招,能够调用一个纯粹的,不存在的函数。 –