J'ai une classe de base et 4 classes dérivées. Je stocke toutes mes classes dérivées dans un vecteur de type pointeur de classe de base. Lors de la première initialisation, je crée différemment chaque type dérivé en utilisant leurs constructeurs. Fondamentalement, ils ont chacun différents types de param dans leurs ctors. (J'ai dû fournir un ctor par défaut protégé pour faire BOOST_CLASS_EXPORT compiler mais c'est une histoire différente). Je ne peux/ne peux pas enregistrer tous les membres (remplis dans ctor) de ces classes dérivées.boost :: initialisation de type polymorphe de sérialisation
Maintenant, lorsque je charge des objets à partir du disque en utilisant boost :: serialize, ces membres (qui ne sont pas sérialisés et spécifiques à chaque type dérivé) sont détruits. Et, je ne peux pas penser à un moyen de ré-initialiser ces types dérivés puisque je stocke seulement les pointeurs de classe de base.
Qu'est-ce exactement que j'ai besoin est d'être capable de charger mes types dérivés (pointeurs) partiellement, sans supprimer tout leur contenu ..
est-il un moyen de surmonter ce problème, un coup de pouce magique définir ou appel de fonction peut-être? Sinon, le polymorphisme avec boost :: serialize n'est pas possible du tout. Je devrais manquer quelque chose et espérer pouvoir définir mon problème assez bien.