【发布时间】:2021-10-05 08:11:50
【问题描述】:
这个问题困扰我很久了。
基本上,我需要能够在另一个函数中通过它们的名称单独访问多个对象。我见过将对象指针推入列表的示例,但我无法按其名称访问它们。
假设我在一个函数中创建了许多对象(硬编码和动态分配),然后在另一个函数中我使用所有对象 (顺便提一下代码草案)
class gameobjects
{
public:
float x = 0.0f;
float y = 0.0f;
float z = 0.0f;
};
void createenemies()
{
gameobjects* chief = new gameobjects();
chief->x = 1.0f;
gameobjects* grunt = new gameobjects();
grunt->x = 4.0f;
gameobjects* elite = new gameobjects();
elite->x = 8.0f;
}
void scene()
{
---
chief->x = 9.0f;
---
elite->x = 4.0f;
grunt->y = 8.0f;
---
}
在网上看,我似乎无法找到解决此问题的方法。类和函数在同一个源文件中。 我尝试研究如何在另一个函数中通过名称访问多个对象,以及如何使函数全局化。 感谢您的帮助。
编辑: 我正在寻找一种方法来保持我的代码整洁并达到良好的标准,只需一个函数即可动态和硬编码地创建可以在整个程序中访问的对象。
编辑: 在某些情况下,如果想在 createenemies 函数中创建许多甚至数百个对象,将每个对象传递给另一个函数并不实际
【问题讨论】:
-
在类范围内声明对象,而不是在函数范围内。
标签: c++ function class object pass-through