Array von Objektreferenzen in eindim. Array
-
Hallo,
ich habe eine Klasse von Objektreferenzen und möchte diese in einer höheren Klasse verwenden. Die Objekte selbst sollen allerdings im Heap erstellt werden.
Daher war mein erster Ansatz (vereinfachtes Beispiel):
class Object { public: Object(const int &i, const int &j); ~Object(); void methods(); private: int i; int j; }; class Klasse { public: Klasse(const int &i); ~Klasse(); private: Object** objects; };Der Zugriff, so dachte ich, erfolgt dann mit:
objects = new Object*[10]; for (int i = 0; i < 10; i++) { objects[i] = new Object(0,0); } ...Allerdings merkte ich, dass ich ein 2-dim. Array erstellt habe, möchte jedoch auf die Objektmethoden gerne mit objects[i]->method() zugreifen. Wie kann ich das bewerkstelligen?
Vielen Dank schon mal für eure Hilfe.
Gruß,
Tobias
-
is schon richtig so
-
std::vector<T> verwenden.
http://www.cplusplus.com/reference/stl/vector/In C++ verzichtet man üblicherweise auf Arrays und verwendet die vom Standard bereitgestellten Funktionen. Dann musst du dich um den Speicher auch nicht mehr kümmern.