Hi, I have a class named Bar which derives from a class named Foo. Both Foo and Bar are serializable, and thus they both have the respective serialize() functions. However, if I do the following, you will not get a polymorphic call since you cannot have virtual template members in a class (The serialize() function must be a template according to the Boost.Serialization docs). Foo* f = new Bar; f->serialize(); Note that you wouldn't call serialize() directly like this, I'm simply doing it to prove a point. At some point Boost.Serialization is going to want to call the Serialize() function off of my Foo object, however it will not call Bar::serialize() as I would expect since I cannot make serialize() virtual. How would I provide polymorphic serialization of objects in Boost.Serialization? Thanks.
"Robert Dailey"
participants (2)
-
Jeff Flinn
-
Robert Dailey