C++类已初始化

Har*_*ime 1 c++ class

C++和Class

我有一个名为"Sprite"的类,当初始化时它需要一个bool变量:

// constructor
Sprite::Sprite(bool type)
{ 
   // set stuff
}

// two Sprites of different types
Sprite Hero(1) 
Sprite Enemy(0)
Run Code Online (Sandbox Code Playgroud)

问:如何初始化0个类型的100个Sprite数组?

精灵敌人[100]?

Som*_*ude 6

我的建议是你使用a std::vector,然后使用带有value参数的构造函数.

喜欢

std::vector<Sprite> Enemies(100, Sprite(false));
Run Code Online (Sandbox Code Playgroud)

您可能需要Sprite为其定义适当的复制构造函数和复制赋值运算符.


如果你没有向量(或者std::array你的情况可能更好),那么你必须将数组声明为普通数组,然后使用循环初始化每个条目:

Sprite Enemies[100];
for (size_t i = 0; i < 100; ++i)
    Enemies[i].set(false);
Run Code Online (Sandbox Code Playgroud)