C++ 然后你可以使用类似于std::fill(敌人,敌人+100,精灵(1))

C++ 然后你可以使用类似于std::fill(敌人,敌人+100,精灵(1)),c++,class,C++,Class,然后你可以使用类似于std::fill(敌人,敌人+100,精灵(1))


然后你可以使用类似于std::fill(敌人,敌人+100,精灵(1))// constructor Sprite::Sprite(bool type) { // set stuff } // two Sprites of different types Sprite Hero(1) Sprite Enemy(0)
std::vector<Sprite> Enemies(100, Sprite(false));
Sprite Enemies[100];
for (size_t i = 0; i < 100; ++i)
    Enemies[i].set(false);
std::vector<Sprite> Ennemies(100, Sprite(false));
std::vector<Sprite> Ennemies(100, {false}); // C++11 style
Sprite* pEnnemies = &Ennemies.front();
std::array<Sprite, 100> Ennemies(Sprite(false));
std::vector<Sprite> Enemies;
Enemies.reserve(100);
for (int i = 0; i < 100; i++)
{
    Enemies.push_back(Sprite(0));
}
std::vector<Sprite> Enemies(100, Sprite(0));
//default constructor
Sprite::Sprite()
{ 
  //set to false 
}

Sprite::Sprite(bool type)
{ 
   // set to type
}
Sprite::Sprite(bool type=false)
{
     //set to type
{
Sprite::Sprite(bool type=false) : mymember(type)
{}
Sprite Enemies[100];
Sprite(bool type=false); // declaration

...
Sprite::Sprite(bool type) :  // definition
  x(random(0, 82)), 
  y(random(0, 20)),
  Ammo(25),
  Alive(true),
  Type(type)
{}
class Sprite
{
  public:
    Sprite();
    Sprite(bool type);
    void Move();
  private:
    unsigned int x, y, Ammo;
    bool Alive;
    bool Type;
};

// constructor
Sprite::Sprite()
{
  Alive = true;
  Type  = 0;
  Ammo  = 25;
  x = random(0, 82);
  y = random(0, 20);
}

Sprite::Sprite(bool type)
{
  Alive = true;
  Type  = 1;
  Ammo  = 25;
  x = 20; // get x from btn press
  y = 10; // get y from btn press
} 
unsigned char data[sizeof(Sprite) * 100];
Sprite* ptr = reinterpret_cast<Sprite*>(&data[0]);
Sprite* end = ptr + 100;
for (; ptr != end; ++ptr)
    new (ptr) Sprite(0);
Sprite* ptr = reinterpret_cast<Sprite*>(&data[0]);
Sprite* end = ptr + 100;
for (; ptr != end; ++ptr)
    ptr->~Sprite();