从未定义基类的纯虚函数中调用它?

mpellegr

我有以下课程:

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 ++编译器是否会为继承的任何纯虚函数自动创建默认定义?

Angew不再为SO感到骄傲

可以调用纯虚函数(通过动态调度机制)。当您考虑它时,这实际上就是纯虚函数的目的。

我假设“正在从gkLogicController对象的另一个类调用”实际上意味着通过指向的指针或引用gkLogicController然后,这必须指向/引用派生自该类的类的实例,而该类gkLogicController确实覆盖了该实例clone创建gkLogicController它本身的实例是不可能的,因为它仍然是抽象的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Singleton DLL中未定义的纯虚函数

来自分类Dev

在Singleton DLL中未定义的纯虚函数

来自分类Dev

调用类中未定义的函数

来自分类Dev

Javascript在未定义类的函数中调用函数

来自分类Dev

从模板基类覆盖纯虚函数

来自分类Dev

如何调用在C ++中具有抽象基类和派生类的定义的基类的虚函数定义?

来自分类Dev

php从类中调用未定义的函数

来自分类Dev

boost::bind 不能绑定到纯虚基类中定义的非静态函数模板成员类型

来自分类Dev

派生类的虚函数调用基类的虚函数

来自分类Dev

基类中的虚函数

来自分类Dev

基类中的虚函数

来自分类Dev

基类中的虚函数定义给出错误

来自分类Dev

为什么“基类对象”不能调用它自己的虚函数?C ++

来自分类Dev

头文件中未定义方法和纯虚方法之间的区别

来自分类Dev

在派生类对象作为参数的基类中声明纯虚函数

来自分类Dev

在派生类对象作为参数的基类中声明纯虚函数

来自分类Dev

对纯抽象类中的方法的未定义引用

来自分类Dev

awk:函数asorti从未定义

来自分类Dev

在纯javsacript中未定义firebase firestore函数

来自分类Dev

类中未定义的函数或变量

来自分类Dev

在* .hxx中声明的虚函数,在* .cxx中定义,但在* .c中未定义

来自分类Dev

如何删除从基类继承的纯虚函数?

来自分类Dev

从main调用类(单独的cpp文件)中定义的函数时,“标识符未定义”

来自分类Dev

使用纯虚函数定义在C ++类之外?

来自分类Dev

使用纯虚函数在C ++类之外定义?

来自分类Dev

从operator <<调用纯虚函数

来自分类Dev

从operator <<调用纯虚函数

来自分类Dev

对模板基类的成员函数的未定义引用

来自分类Dev

我可以在基类中重载纯虚方法吗?

Related 相关文章

热门标签

归档