Marscel
2005-08-06, 19:30:18
Ein wenig Vertiefung in C++ sah ich gerade mal angebracht...
Angenommen, ich hab eine Klasse und will nun per Knopfdruck beliebig Objekte dieser Klasse erstellen/bearbeiten/löschen, allerdings müssen die Objekte auch so bezeichnet sein sein, dass ich genau weiß, um welches es sich handelt, praktisch soll jedem Objekt eine Nummer zugeordnet werden, die immer wieder inkrementiert wird, etwa so (das soll nur das Prinzip darstellen):
Objekt1, Objekt2, Objekt3 ...
Das Problem ist, dass ich nicht weiß, wie man das im Code umsetzen soll (möglichst ohne Makros). Mithilfe von Arrays kann man ja unter einem Bezeichner n Objekte erstellen (Klasse Object[n]; ), deren Indizierung praktisch eine Nummerierung ist, mit der sich eigentlich ganz gut arbeiten lässt, wenn man ein bestimmtes Objekt herraussuchen will. Nun habe ich aber keinen einfachen Weg unter C++ gefunden, mit dem man neue Elemente in ein Array dranhängen kann (etwa wie bei PHP mit arraypush()) bzw. auch Elemente an Index x aus dem Array wieder herausnehmen kann. Weiter habe ich mit einem n "großen" Array auch nur die Möglichkeit n Elemente darin unterzubringen und wenn man nicht alle Elemente bzw. hier Objekte braucht, ist sowas Speicherverschwendung, das Array sollte also "dynamisch" groß sein.
Bevor ich weiterfrage, kann man das Schema überhaupt auf diese Art und Weise umsetzen oder ist das ganze, was ich mir an Sorgen mache, vielleicht überflüssig, d.h. eigentlich übersehe ich was einfacheres oder gibt es da andere Möglichkeiten?
MIR fallen keine anderen Wege außer den Arrays ein, die man dann mithilfe eigener Funktionen bearbeiten müsste. Knotenlisten würde ich auch noch als Mittel ansehen, wobei ich dort genauso wenig weiß, wie sich die einzelnen Listeneinträge bzw. Knoten auslesen lassen.
Mir geht es in erster Linie darum, dynamisch beliebig Objekte einer Klasse erstellen/löschen zu können und jedes einzelne wiederfinden zu können.
Für Tipps und Gedankenanstöße wäre ich dankbar.
Angenommen, ich hab eine Klasse und will nun per Knopfdruck beliebig Objekte dieser Klasse erstellen/bearbeiten/löschen, allerdings müssen die Objekte auch so bezeichnet sein sein, dass ich genau weiß, um welches es sich handelt, praktisch soll jedem Objekt eine Nummer zugeordnet werden, die immer wieder inkrementiert wird, etwa so (das soll nur das Prinzip darstellen):
Objekt1, Objekt2, Objekt3 ...
Das Problem ist, dass ich nicht weiß, wie man das im Code umsetzen soll (möglichst ohne Makros). Mithilfe von Arrays kann man ja unter einem Bezeichner n Objekte erstellen (Klasse Object[n]; ), deren Indizierung praktisch eine Nummerierung ist, mit der sich eigentlich ganz gut arbeiten lässt, wenn man ein bestimmtes Objekt herraussuchen will. Nun habe ich aber keinen einfachen Weg unter C++ gefunden, mit dem man neue Elemente in ein Array dranhängen kann (etwa wie bei PHP mit arraypush()) bzw. auch Elemente an Index x aus dem Array wieder herausnehmen kann. Weiter habe ich mit einem n "großen" Array auch nur die Möglichkeit n Elemente darin unterzubringen und wenn man nicht alle Elemente bzw. hier Objekte braucht, ist sowas Speicherverschwendung, das Array sollte also "dynamisch" groß sein.
Bevor ich weiterfrage, kann man das Schema überhaupt auf diese Art und Weise umsetzen oder ist das ganze, was ich mir an Sorgen mache, vielleicht überflüssig, d.h. eigentlich übersehe ich was einfacheres oder gibt es da andere Möglichkeiten?
MIR fallen keine anderen Wege außer den Arrays ein, die man dann mithilfe eigener Funktionen bearbeiten müsste. Knotenlisten würde ich auch noch als Mittel ansehen, wobei ich dort genauso wenig weiß, wie sich die einzelnen Listeneinträge bzw. Knoten auslesen lassen.
Mir geht es in erster Linie darum, dynamisch beliebig Objekte einer Klasse erstellen/löschen zu können und jedes einzelne wiederfinden zu können.
Für Tipps und Gedankenanstöße wäre ich dankbar.