Je cherche la manière la plus séduisante pour stocker dans un fichier au format binaire une liste d'objets.
Code :
- std::list<cbase*> liste_objets;
|
Ces objets ont la particularité d'hériter d'une classe de base (non abstraite).
Code :
- class cbase
- {
- virtual void serialisation( ofstream& fichier_destination );
- virtual void deserialisation( ifstream& fichier_source );
- /*** ...d'autres membres ici! ***/
- }
|
Tous mes objets, ainsi que la classe de base disposent d'un couple de fonctions de sérialisation binaire.
Code :
- class objetN : public cbase
- {
- void serialisation( ofstream& fichier_destination )
- {
- cbase::serialisation( fichier_destination );
- /*** serialisation des membres spécifiques de objetN ***/
- }
- void deserialisation( ifstream& fichier_source );
- {
- cbase::deserialisation( fichier_source );
- /*** deserialisation des membres spécifiques de objetN ***/
- }
- /*** ...d'autres membres ici! ***/
- }
|
Quelle methode utiliseriez vous pour serialiser la liste en conservant l'information 'type' des objets pour reconstruire correctement la liste d'objets.
--edit : correction virtual;
Merci d'avance.
Message édité par xterminhate le 07-06-2004 à 20:19:00
---------------
Cordialement, Xterm-in'Hate...