Ich habe eine Basisklasse und 4 abgeleitete Klassen. Ich speichere alle meine abgeleiteten Klassen in einem Vektor des Basisklasse-Zeigertyps. Während der ersten Initialisierung erzeuge ich jeden abgeleiteten Typ mit seinen Konstruktoren anders. Grundsätzlich haben sie jeweils unterschiedliche Param-Typen in ihren ctors. (Ich musste einen geschützten Standard-Ctor bereitstellen, um BOOST_CLASS_EXPORT kompilieren zu lassen, aber das ist eine andere Geschichte). Ich kann/kann nicht alle Mitglieder (in ctor) dieser abgeleiteten Klassen speichern.Boost :: Serialisierung polymorphe Typ Initialisierung
Jetzt, wenn ich Objekte von der Festplatte mit boost :: serialize laden, werden diese Member (die nicht serialisiert und spezifisch für jeden abgeleiteten Typ sind) zerstört. Und ich kann mir keine Möglichkeit vorstellen, diese abgeleiteten Typen neu zu initialisieren, da ich nur die Basisklassenzeiger speichere.
Was genau ich brauche, ist in der Lage, meine abgeleitete Typen (Zeiger) teilweise zu laden, ohne alle ihre Inhalte zu löschen ..
Gibt es eine Möglichkeit, dies zu überwinden, eine magische Schub definieren oder Funktionsaufruf vielleicht? Ansonsten ist Polymorphie mit boost :: serialize überhaupt nicht möglich. Ich sollte etwas vermissen und hoffe, ich könnte mein Problem gut genug definieren.