Du könntest z.B. deine Klasse mit Methoden zum serialisieren/deserialisieren erweitern, z.B.:
Code:
password & deserialize(std::istream & stream);
std::ostream & serialize();
Die Referenzen werden zwecks chaining zurückgegeben. Kannst natürlich auch nichts zurückgeben, bzw. bei der Deserialisierung einen Pointer, wenn dir das lieber ist.
Beim Serialisieren schreibste dann Variable für Variable in die Datei (bei den Datentypen aufpassen!). Am besten jeden Datentypen auf (char *) casten und mit der write/read-Methode von std::stream schreiben/lesen (nicht mit "<<" und ">>"). Als Größe "sizeof(<Datentyp>)" angeben:
Code:
out.write((char*)&password1, sizeof(password1));
Beim Deserialisieren das ganze Spiel anders herum (new password().deserialize(stream)).
Alternativ bietet boost auch Methoden zur Serialisierung.
Das Deserialisieren kannste dann vor dem Schließen des Programms machen, das Serialisieren beim Starten des Programms.
Falls ich das Ganze etwas ausführlicher schildern soll oder ich etwas näher erklären soll, gib einfach Bescheid.