有什麼問題?我認爲,這是正確面向對象問題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()'被調用?這將是一個絕招,能夠調用一個純粹的,不存在的函數。 –