涉及C+中实例的动态内存+; 我一直在用CoudMaDeAsple的C++制作简单的HD教程(如果你不熟悉他,他是一个Youtube,他在多个编程语言和图书馆中提供了惊人的经验),最近我一直在学习他的多态性,因为他教我们面向对象的编程。我已经理解了他教给我们的所有东西,但是我被他决定在没有类实例的情况下从“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; } 类实体 { 受保护的: int atkPow; 公众: 无效设置功率(int值) { atkPow=数值; } }; 类播放器:公共实体 { 公众: 无效攻击() { 难道

涉及C+中实例的动态内存+; 我一直在用CoudMaDeAsple的C++制作简单的HD教程(如果你不熟悉他,他是一个Youtube,他在多个编程语言和图书馆中提供了惊人的经验),最近我一直在学习他的多态性,因为他教我们面向对象的编程。我已经理解了他教给我们的所有东西,但是我被他决定在没有类实例的情况下从“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; } 类实体 { 受保护的: int atkPow; 公众: 无效设置功率(int值) { atkPow=数值; } }; 类播放器:公共实体 { 公众: 无效攻击() { 难道,c++,class,dynamic-memory-allocation,C++,Class,Dynamic Memory Allocation,你声明了玩家是一个实体 你指的那条线意味着"分配一个新的玩家。让变量实体作为一个实体指针,指向新分配的玩家实体可以指向任何实体,而玩家是一个实体它也可以指向一个玩家,请使用智能指针管理你自己的记忆的头。@chris他不是在问关于记忆管理的问题。他不应该在高级shiz之前学习基础知识吗?@Lewsterin,它是如何高级的(比多态性更高级)?它实际上是同一个接口,但本质上更安全。无论如何,这是一个改进,可以应用到这个特定问题之外。@chris进步得很明显,因为他不理解继承和多态性是如何联系在一起的

你声明了
玩家
是一个
实体


你指的那条线意味着"分配一个新的
玩家
。让变量
实体
作为一个
实体
指针,指向新分配的
玩家
实体
可以指向任何实体,而
玩家
是一个
实体
它也可以指向一个
玩家
,请使用智能指针管理你自己的记忆的头。@chris他不是在问关于记忆管理的问题。他不应该在高级shiz之前学习基础知识吗?@Lewsterin,它是如何高级的(比多态性更高级)?它实际上是同一个接口,但本质上更安全。无论如何,这是一个改进,可以应用到这个特定问题之外。@chris进步得很明显,因为他不理解继承和多态性是如何联系在一起的。这就像在学习传递值之前先学习传递指针值。这么简单的一个革兰氏和犹他州。