Instanz Global machen
-
Hi Leute, ich arbeite zurzeit an einer Art Leveleditor. Ich möchte mehrere Instanzen der Klasse "CObject" erstellen. Spieler, Enemy und Wall sind 3 Instanzen, die Global erstellt werden. Jetzt hab ich aber das Problem, dass ich mehrere Instanzen erstellen möchte. Wenn ich jetzt aber innerhalb diesen Beispiels:
if(some == true) { CObject Wand; }erstelle, ist, wie ihr wisst, die Instanz Wand nicht mehr verfügbar, wenn der Block beendet ist (}).
Wie kann ich jetzt innerhalb eines Codeblockes eine Instanz Global erstellen, bzw. gibt es eine bessere Lösung?
-
mehrere Instanzen = eine undefinierte Zahl/dynamische Anzahl von instanzen?
Dann mach doch einen (globalen) Vektor aus CObject-Pointern und erstelle ein neues Objekt mit new.
-
Vektoren? Was soll mir das bringen? Soweit wie ich die Vektoren von der STL kenne machen die dabei keinen Sinn. Erklär ma bitte genauer was du meinst.
-
Indem man Zeiger verwendet und das Objekt mit new erzeugt. Die Frage bleibt dennoch, wo soll dieses Objekt denn "leben"/"existieren"?
-
Ich habe einen Hauptcode und die Instanz soll über alle Messages / ... existieren. Z.B. WM_PAINT, WM_MOUSEMOVE, usw. außerdem über die ganzen Callbacks
|-> über den ganzen Code.
Meinst du sowas?
CObject *PObjekt = NULL; PObjekt = new CObject; //ende delete PObjekt; PObjekt = NULL;