C++;游戏代码不工作 我正在做一个作业的游戏,我遇到了一个C++中的函数重写问题。

C++;游戏代码不工作 我正在做一个作业的游戏,我遇到了一个C++中的函数重写问题。,c++,C++,我的结构如下: class GameEntity { public: bool GameEntity::TakeHit(int dmg); }; class Enemy : public GameEntity { bool Enemy::TakeHit(int dmg); }; 当我从另一个类创建一个敌人的实例时,将其存储在GameEntity向量中,然后对其调用TakeHit(),它将调用它的GameEntity版本。我已经习惯了Java,它会称之为另一个版本,我在这里做

我的结构如下:

class GameEntity
{
public:
    bool GameEntity::TakeHit(int dmg);
};

class Enemy : public GameEntity
{
    bool Enemy::TakeHit(int dmg);

};
当我从另一个类创建一个敌人的实例时,将其存储在GameEntity向量中,然后对其调用TakeHit(),它将调用它的GameEntity版本。我已经习惯了Java,它会称之为另一个版本,我在这里做了什么明显的错误吗

其他问题并没有真正涉及到这一点,所以我创建了自己的问题


我猜这可能很简单,因此,非常抱歉。

来自
GameEntity
的函数需要
virtual
关键字。

来自
GameEntity
的函数需要
virtual
关键字。

来自
GameEntity
的函数需要
virtual
关键字。

来自
GameEntity
的函数需要
virtual
关键字

  • 使
    TakeHit
    成为虚拟成员函数

    // You don't need the scope specifier GameEntity::
    // Make it pure virtual to force sub-classes to implement them.
    virtual bool TakeHit(int dmg) = 0;
    
  • 最好存储指向对象的指针,而不是对象。如果你只储存物品,你就会受到伤害

  • 使
    TakeHit
    成为虚拟成员函数

    // You don't need the scope specifier GameEntity::
    // Make it pure virtual to force sub-classes to implement them.
    virtual bool TakeHit(int dmg) = 0;
    
  • 最好存储指向对象的指针,而不是对象。如果你只储存物品,你就会受到伤害

  • 使
    TakeHit
    成为虚拟成员函数

    // You don't need the scope specifier GameEntity::
    // Make it pure virtual to force sub-classes to implement them.
    virtual bool TakeHit(int dmg) = 0;
    
  • 最好存储指向对象的指针,而不是对象。如果你只储存物品,你就会受到伤害

  • 使
    TakeHit
    成为虚拟成员函数

    // You don't need the scope specifier GameEntity::
    // Make it pure virtual to force sub-classes to implement them.
    virtual bool TakeHit(int dmg) = 0;
    
  • 最好存储指向对象的指针,而不是对象。如果你只储存物品,你就会受到伤害