Dynamische Variablennamen

Hallo!
Wie kann man Instanzen von Variablen bzw. Klassen deklarieren, wenn man im Vorraus noch nicht weis wie sie heißt?
Beispiel:
Ich muss mehrere Instanzen der Klasse Dorfbewohner für ein Strategiespiel deklarieren, weiß aber im Vorraus nicht wie viele, da der Spieler später im Spiel so viele Dorfbewohner erstellen kann, wie er will.
Ich könnte ja schon im Vorraus eine bestimmte Anzahl von Dorfbewohner-instanzen deklarieren, und dann ein Einheitenlimit setzten, z.b.:
Dorfbewohner Dorfbewohner1;
Dorfbewohner Dorfbewohner2;
Dorfbewohner Dorfbewohner3;
Dorfbewohner Dorfbewohner4;
Dorfbewohner Dorfbewohner5;
Dorfbewohner Dorfbewohner6;
Dorfbewohner Dorfbewohner7;
In diesem Falle kann der Spieler maximal 7 Dorfbewohner bauen.
Aber diese Lösung wäre umständlich und unprofessionell…
Wie kann ich also Variablen-Instanzen mit vorher nicht festgelegtem Namen deklarieren??
z.B. so:

int x=0; //Anzahl Dorfbewohner
void ButtonClick()
{
Dorfbewohner Dorfbewoner??x??;
x++;
}

Ich hoffe ihr könnt mir helfen,
mfg Philipp

Ich muss mehrere Instanzen der Klasse Dorfbewohner für ein
Strategiespiel deklarieren, weiß aber im Vorraus nicht wie
viele, da der Spieler später im Spiel so viele Dorfbewohner
erstellen kann, wie er will.

Hallo Philipp,
Du redest ja auch von Klassen, also geh’ ich mal von C++ aus.
Wenn du von vorneherein nicht weisst, wie viel irgend was wird, dann vergiss statische Arrays und verwende dynamische ObjectListen. (CObList). Ist auch nicht so schwer.

z.B.
class CDbw {…}; //Dorfbewohner
CObList lstDbw;

CDbw *pDbw,*pDbw1= new CDbw; //vergiss Dbw und nenn’s X :smile: blödes Bsp.

lstDbw.AddTail((CObject*) pDbw1); // Einwohner hinzufügen (hinten anhängen)
POSITION pos=lstDbw.GetHeadPosition(pos); // ListenAnfang
pDbw = (*CDbw) lstDbw.GetNext (pos); // Erstes Element (wg. HeadPos)

Du musst dich halt durchhangeln, wenn du einen bestimmten Eintrag brauchst, aber das geht RatzFatz.

Gruss, Norbert