Array allokieren und alle Objekte benennen
-
Servus,
ich habe einen Zeiger Patch* p und will nun ein Array von Patches anlegen. z.b. so:
Patch* p = new Patch[100];Das Problem ist nur: Patch erbt von Object und Object braucht im Ctor einen String. Dh ich muss irgendwie die Patches im Array alle eindeutig benennen, zb so: "Patch1", "Patch2" etc. Wie könnte ich das machen?
-
Was ist der Sinn? Brauchst du das überhaupt? Ansonsten führe auch einen Konstruktor ein, der ohne Parameter auskommt.
Object(const std::string& x = "") { }
-
Habs jetzt so gelöst:
Patch::Patch() : Object( str("Patch%i", numPatches++) ) { }numPatches ist eine statische Membervariable.
Scheint zu funktionieren.
-
du musst nur aufpassen, wenn du objekte kopierst (oder funktione/ -saufrufe oder container), nicht das dannd ein zähler auch mit erhöht wird und dann hast du am ende 10000 objekte obwohl du nur 100 objekte erstellt hast und wolltest...