Tworzenie kilku obiektów ( ilość obiektów zależna od zmiennej )

0

Witam
Jest to głupie pytanie no, ale nie mogę sobię z tym poradzić. Dajmy na to mam klasę Gracze i w zależności od wartości zmiennej liczba_graczy tyle obiektów chcę utworzyć np. liczba_graczy=3; .... Gracze gracz1; Gracze gracz2; Gracze gracz3;

To jak zrobić, żeby automatycznie w pętli mi obiekty tworzyło

for(i=1;i<=liczba_graczy;i++)
{
//tutaj chce aby tworzyło obiekty, możliwe jest takie coś?
}

Jedyne co mi wpadło do głowy to:

if(liczba_graczy=1) Gracze gracz1;
if(liczba_graczy=2){ Gracze gracz1; Gracze gracz2; }
if(liczba_graczy=3){ Gracze gracz1; Gracze gracz2; Gracze gracz3; } itd...

Tak, więc proszę o pomoc.

0

Gracze tab[liczba_graczy]? Ew lista czy jakiś inny kontener. Właśnie do takich rzeczy służą. Swoją drogą jak zaczniesz if-ować, to jak się potem będziesz odwoływał do tych graczy?

0

vector -> jesli zalezy Ci na szybkim dostepie do elementow
http://www.cplusplus.com/reference/vector/vector/

lista -> jesli zalezy Ci na szybkim dodawaniu/usuwaniu
http://www.cplusplus.com/reference/list/list/

tablica -> jesli ilosc elementow jest stala i znana w czasie kompilacji
http://www.cplusplus.com/reference/array/array/

1

Dajmy na to mam klasę Gracze
Nazwa Gracze sugeruje kolekcję graczy. Jeśli obiekt klasy przedstawia jednego gracza, to klasa powinna nazywać się Gracz.

tablica -> jesli ilosc elementow jest stala i znana w czasie kompilacji

A tablica dynamiczna to pies?

Jeśli kogoś mierzi VLA w C++, to przecież można zrobić

  int ile = 5;
  Gracz *gracze = new Gracz[ile];
  ...
  delete[] gracze;
0

No cóż, dobór kontenera zależy od tego czy ci gracze będą "wywoływani" po kolei (np najpierw swój ruch wykonuje pierwszy, potem drugi etc) czy też potrzeby szybki, swobodny dostęp (np gracz 1 spotyka 5 i walczą ze sobą).

1 użytkowników online, w tym zalogowanych: 0, gości: 1