我有一個基類和4個派生類。我將所有派生類存儲在基類指針類型的向量中。在第一次初始化期間,我使用構造函數以不同的方式創建每個派生類型基本上他們每個人都有不同的參數類型。 (我不得不提供一個受保護的默認ctor來編譯BOOST_CLASS_EXPORT,但這是一個不同的故事)。我沒有/不能保存這些派生類的所有成員(填入ctor)。boost :: serialization多態類型初始化
現在,當我使用boost :: serialize從磁盤加載對象時,這些成員(沒有序列化並且針對每個派生類型)被銷燬。而且,我不能想辦法重新初始化這些派生類型,因爲我只存儲基類指針。
正是我需要的是能夠載入我的派生類型(指針)部分,但不刪除其所有內容..
有沒有辦法來解決這個問題,一個神奇的升壓定義或函數調用吧?否則,使用boost :: serialize的多態性是不可能的。我應該錯過一些東西,希望我能夠很好地定義我的問題。