涉及C++中实例的动态内存

Dynamic memory involving instances in C++

本文关键字:动态 内存 实例 C++ 涉及      更新时间:2023-10-16

我一直在学习CodingMadeEasy的C++Made Easy HD教程(如果你不熟悉他的话,他是一个在多种编程语言和库中提供惊人课程的年轻人),最近我在学习他的多态性课程,因为他在教我们面向对象编程。我已经理解了他教给我们的所有东西,但他决定在没有类实例的情况下调用"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分钟

如果有人能帮我澄清一下,我将不胜感激。提前感谢:)

您声明了PlayerEntity

您指向的行表示"分配一个新的Player。让变量entityEntity指针)指向新分配的Playerentity可以指向任何实体,因为PlayerEntity,它也可以指向Player