Instanzen dynamisch erstellen
-
Hallo zusammen
Ich würde gerne von einer Klasse die Instanzen dynamisch erstellen lassen.
Beispiel:
Für jedes neue Auto was ich eingebe, muss eine neue Instanz von clsAuto erstellt werden.
Warum eine eigene Instanz? Weil ich im laufe des Programms auf die anderen wieder zurück greifen möchte um die Werte davon zu holen.
Da ich ja nie weiß, wie viele neue Autos gerade von user eingegeben werden, müsste ich irgendwie sowas hier machen
[cpp]
if (neuesAuto)
newCar**[i]** = new clsAuto;
[/cpp]und für dieses i da müsste ich irgendwas dynamisches haben.
hat jemand eine idee?
-
CArray <clsAuto*, clsAuto*> m_arrCars;
if (neuesAuto) m_arrCars.Add(new clsAuto);
-
Für sowas gibts Container. Schau dir mal std::vector oder std::list an, je nachdem, was besser passt. Wenn du eingefleischter MFCler bist, gibts auch in dieser entsprechende Container. CArray o.ä. heißen die.
-
also wenn ich die deklaration mit dem CArray mache, kommt er immer mit folgendem Fehler:
error C2143: Syntaxfehler: Es fehlt ';' vor '<'dabei habe ich nur die klassennamen ausgetauscht, weil meine klasse ja nicht clsAuto heißt *gg*
-
OMG wie unselbständig kann man sein.
#include <afxtempl.h>
-
ich habe in der MFC nachgeschaut
soweit bin ich auch schon gekommen
nur: weder bei CArray noch unter dessen Methoden standen Requirements drin
-
Sorry, aber dann hast du ne alte MSDN.