0

我一直在学习 CodingMadeEasy 的 C++ Made Easy HD 教程(如果你不熟悉他,他是一个 youtuber,提供多种编程语言和库的精彩课程),最近我一直在学习他的多态性课程,因为他正在教学我们面向对象编程。我一直在理解他一直在教我们的所有东西,但是在他决定在没有类实例的情况下从“Player”类中调用一个方法时,我陷入了困境。只有一行代码困扰了我,进而导致我误解了示例的其余部分。代码行是:

class Entity
{
protected:
    int atkPow;

public:
    void SetAtkPower(int value)
    {
        atkPow = value;
    }
};

class Player : public Entity
{
public:
    void Attack()
    {
        cout << "Player Attack: " << atkPow << endl;
    }
};

int main()
{
    Entity *entity = new Player; //THIS IS THE LINE OF CODE THAT I CAN'T UNDERSTAND
    entity->SetAtkPower(10);

    delete entity;
}

现在就我而言,我应该了解所有必须提供的动态内存,但是 Entity 类的实例如何指向新的 Player?

这是 CodingMadeEasy 教程。我无法理解的部分从 8 分钟开始。

如果有人可以为我澄清事情,我将不胜感激。先感谢您 :)

4

1 回答 1

0

你声明 aPlayer是一个Entity.

您指向的行的意思是“分配一个新的. 让作为指针Player的变量指向新分配的.可以指向任何实体,并且它可以指向 a 。entityEntityPlayerentityPlayer EntityPlayer

于 2013-08-12T01:23:26.820 回答