我有以下類:從基類中調用一個沒有定義它的純虛函數?
class gkLogicBrick
{
public:
gkLogicBrick(gkGameObject* object, gkLogicLink* link, const gkString& name);
virtual ~gkLogicBrick();
virtual gkLogicBrick* clone(gkLogicLink* link, gkGameObject* dest) = 0;
//unimportant function/variables
};
和它被子類,如:
class gkLogicController : public gkLogicBrick
{
gkLogicController(gkGameObject* object, gkLogicLink* link, const gkString& name);
virtual ~gkLogicController() {}
//unimportant function/variables
};
命名爲clone()
的方法不被一個gkLogicController
對象上覆蓋了從另一個類但它被稱爲。我認爲調用純虛函數是不允許的? C++編譯器是否會爲所有繼承的純虛函數自動創建一個默認定義?
是的,它編譯。它是大型圖書館的一小部分。我猜這是不允許的,所以也許我應該看得更遠,看看是否有其他事情正在發生,我錯過了... – mpellegr