多文档程序实现serial
请教一个问题。
当我们是用VS2005创建一个多文档的程序时,在自己的类中的并没有发现使用DECLARE_SERIAL宏,可是在Serialize中也可以正常使用重载的运算符《、》.请问这个是怎么回事 ?是我理解错了吗 还是怎么的?
能深度讲下吗 谢谢
[解决办法]
楼主发了2次?那哥也回答两次吧:)
不用DECLARE_SERIAL(),可以序列化,但是仅限于你自己去调用你的Serialize()函数,用了DECLARE_SERIAL(),一是程序可以在不知道你的类时通过运行时类(CRuntimeClass)动态创建对象,就是DECLARE_DYNCREATE()啦,二是实现序列化,当然最终还是调用你的Serialize()函数,既然都是调用这个函数,当然就可以序列化啦,
两者的差别是:
一个是你自己调用,另一个是声明宏后,你这个类的实例(比如m_aaa)就可以如下操作:
ar<<m_aaa,实现序列化,而不是m_aaa.Serialize(ar)