【发布时间】:2016-03-26 02:02:22
【问题描述】:
我对 c++ 还很陌生,这个问题让我很不爽。
在我的项目中,我使用 SFML 库来创建小行星。我声明了一个名为_asteroids 的类,并希望在该类中创建一堆小行星对象。有人建议我将对象存储在数组中。后来我知道不能将对象存储在数组中,但可以存储指向对象的指针。
总之,我想:
-在_asteroids类中创建对象
-将指向这些对象的指针存储在数组中
-能够通过数组中的指针调用这些对象并更改它们的值
我该怎么做呢?这是我的一些代码:
class _asteroids{
float angle; //Angle
sf::Vector2f a_pos; //Position
sf::Vector2f a_vel; //Velocity
void makeAsteroids(int); //This generates the asteroid's appearance
bool Remove(); //If this is false the object is removed
public:
void Update(); //This updates the position
};
【问题讨论】:
-
回答标题中的问题,和普通数组一样?你试过什么?你的尝试有什么问题?此外,如果您想在运行时从“数组”中添加和删除对象,请考虑使用
std::vector。 -
哪一部分是问题:创建对象、获取指向它们的指针,还是将事物放入数组中?
-
我尝试过像这样使用数组:foo[] = new _asteroids
-
声明
int foo[]声明了一个int的 empty 数组。 C 风格的数组在编译时需要有一个固定的大小,当然是你想要在数组中的对象的数组,例如_asteroids foo[64]. -
@user2840146 有
asteroids没有意义,但没有asteroid。
标签: c++ arrays pointers object