【发布时间】:2013-07-03 23:58:51
【问题描述】:
我有以下课程:
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++ 编译器会自动为任何继承的纯虚函数创建默认定义吗?
【问题讨论】:
-
是的,它可以编译。它只是大型图书馆的一小部分。我猜那是不允许的,所以也许我应该进一步看看,看看是否还有其他我想念的事情发生......
标签: c++ oop inheritance pure-virtual