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

时间:2013-08-12 01:02:54

标签: c++ class dynamic-memory-allocation

我一直在使用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;
}

就我而言,我应该理解所有动态内存必须提供的内容,但实体类的实例如何指向新的播放器?

Here is the CodingMadeEasy tutorial. The bit in which I fail to understand start 8 minutes in.

如果有人可以为我澄清事情,我会非常感激。提前谢谢你:)

1 个答案:

答案 0 :(得分:0)

您声明PlayerEntity

您指向的行表示“分配新的Player。让变量entityEntity指针,指向新分配的Player。{{ 1}}可以指向任何实体,而entity Player,它也可以指向Entity