Designproblem
-
Hallo,
habe folgendes Problem:
Habe eine Klasse, von der ich zur Laufzeit verschieden viele Objekte erzeuge und davon auch wieder das eine oder andere lösche.
Die erzeugte Objekte speicher ich in einer Liste list<MeineKlasse*>;
Da ich diese Liste aber keinesfalls aus dem Hauptprogramm verwalten möchte, meine Frage:
Wie designe ich das am besten?1. Eine Interfaceklasse zwischen CMeineKlasse und Hauptprogramm, das mir die list<> verwaltet?
oder
2. eine globale list<> (was glaube ich nicht so gut ist)danke
to
-
Würde eine Klasse schreiben, die als Member eine Variable vom Typ List <> hält und die Verwaltung der Liste übernimmt.
-
Mathias schrieb:
Würde eine Klasse schreiben, die als Member eine Variable vom Typ List <> hält und die Verwaltung der Liste übernimmt.
gut... dann muss ich aber die ganzen Members meiner Klasse nochmal reimplementieren. Aus dem Hauptprogramm soll nur eine Klasse sichtbar sein.
Gibts nicht noch einen anderen Weg?
-
Du brauchst die Schnittstelle des Liste nicht nachzuprogrammieren, wenn du eine Get-Funktion schreibst, die dir das List-Objekt zurückliefert.
Es ist nur wichtig, dass du genau definierst, wer die Objekte, die in die Liste eingetragen werden anlegt und wer sie löscht.
Idealerweise übernimmt das die Klasse, die die Liste hält (für die Add/Insert-Funktion kannst du z.B. ein kleines Template-Funktion schreiben, das immer den Standardkonstruktor aufruft).