Serialisierung von Objekten in einer Liste

steffi1985

Grünschnabel
Hallo Ihr!

Ich muss zum ersten Mal eine Serialisierung durchführen und bin bisschen verzweifelt :-(
Also meine Objekte habe ich mit einer Liste verwaltet...wie kann ich denn jetzt bewerkstelligen, dass mir da in der Serialisierungsfunktion nicht nur die Zeiger gespeichert werden? Und beim Laden wäre es günstig, wenn ich eine Liste der gespeicherten Objekte hätte, um die Objekte neu anlegen zu können.

Hat jemand einen Tipp?



Vielen Dank, LG Steffi :)
 
Naja grundlegend sollten deine Objekte ja einzeln serialisierbar sein, d.h. hast warscheinlich eine Klasse von der du eine Instanz erstellst und davon den Zeiger in deine Liste einfügst.
So nun sollte Deine Klasse eine Methode haben die dann per Serialisierung die Daten in die Datei schreibt. Komfortabel wäre es, wenn du dieser Methode gleich einen Strem mitgibst, so kann sie direkt schreiben z.b. so:
Code:
class MyClass
{
  int _a;
  std::string _b;
  MyClass::Serialize(std::ostream &out)
  {
    out << _a  << _b << std::endl;
  }
}
So oder so ähnlich hald. Du kannst dann natürlich auch die Umkehrfunktion schreiben um aus einem Stream in deine Klasse einzulesen.

Um dann die Komplette Liste zu serialisieren musst du einfach die Liste durchiterieren und von jedem Zeiger die Methode "Serialize" aufrufen.

Gruß Homer
 
Zurück