Aus mehreren Objekten in einen Vektor schreiben

Hallo zusammen,

ich will aus mehreren Objekten verschiedener Klassen in einen Vektor
(std::vector) schreiben, auf den ich auch aus meiner Main zugreifen kann.
Wichtig dabei ist, dass ich den Objekte keine Referenz mitübergeben kann, da es
nur temporär ist und ich nicht alle Klassen umfrickeln will.

Ich hatte schon versucht den Vektor global und static zu halten, aber irgendwie
hab ich dann zwar Zugriff auf den Vektor, aber jeder hat seinen eigenen,
jedenfalls steht nichts mehr drin, wenn ich ihn in der main auslesen will,
nachdem ein paar Objekte was „reingeschrieben“ haben sollte.

Wie muß ich es anpacken, damit jeder was rein schreiben kann?
Sinn soll sein, dass die Objekte quasi Protokolle führen sollen über diverse
Dinge und dafür den vector nutzen sollen.

Gruß Mike

Hallo

ich will aus mehreren Objekten verschiedener Klassen in einen
Vektor (std::vector) schreiben, auf den ich auch aus meiner
Main zugreifen kann. Wichtig dabei ist, dass ich den Objekte
keine Referenzmitübergeben kann, da es nur temporär ist und
ich nicht alle Klassen umfrickeln will.

Einen vector von „Handle classes“ bauen,
siehe: http://www.parashift.com/c+±faq-lite/containers.html
„[34.4] How can I build a of objects of different types?“

Ich hatte schon versucht den Vektor global und static zu
halten, aber irgendwie hab ich dann zwar Zugriff auf den
Vektor, aber jeder hat seinen eigenen, jedenfalls steht
nichts mehr drin, wenn ich ihn in der main auslesen will,
nachdem ein paar Objekte was „reingeschrieben“ haben sollte.

???

Das hört sich an, als würdest Du versuchen, ein vector-Objekt
„per Include-File“ mit „static“ deklariert einzubinden.

Du mußt in diesem Fall entweder

  • als/in Singleton-Pattern verwenden/kapseln,
  • den vector vor der main-Funktion instantiieren
       und in den Include-Dateien als „extern“ deklarieren.

Grüße

CMБ