涉及C++中实例的动态内存
Dynamic memory involving instances in C++
我一直在学习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分钟
如果有人能帮我澄清一下,我将不胜感激。提前感谢:)
您声明了Player
是Entity
。
您指向的行表示"分配一个新的Player
。让变量entity
(Entity
指针)指向新分配的Player
。entity
可以指向任何实体,因为Player
是Entity
,它也可以指向Player
。
相关文章:
- 在以唯一ptr为值的C++映射中,动态内存何时会被销毁
- 开放 CV 中的动态内存分配,用于视频处理
- 为什么类和 main() 函数中也有动态内存分配
- 在没有动态内存的世界中,我是否需要虚拟析构函数?
- c++ 动态内存 堆栈中的分配
- 给定特定内存地址的数组的动态内存分配
- 释放动态内存时C++错误
- 我刚刚了解了C++中的动态内存分配
- 无法删除布尔动态内存分配
- 有没有办法找到动态内存大小,比如大小?
- 我在 2D 数组的动态内存分配中遇到了一些奇怪的代码C++? 请解释一下这是什么?
- 具有对齐存储的动态内存分配
- 指向数组unique_ptr在调用 release() 后会自动释放动态内存,这是真的吗?
- 在cpp中使用boost-python的python代码是否进行动态内存分配
- 我应该在这个程序中使用静态内存分配还是动态内存分配
- C++ 模板函数中的动态内存分配
- 指向动态内存中结构中的变量时出现问题
- C++具有动态内存分配的 constexpr 函数
- 动态内存分配错误
- 按引用传递和动态内存分配之间的区别是什么