我一直在学习 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 分钟开始。
如果有人可以为我澄清事情,我将不胜感激。先感谢您 :)