Serialize问题,请进!
CArray::Serialize(ar)函数,怎么不调用元素的Serialize(ar)?
帮忙看看哪出问题了
////////////////UserInfo.H
class CUserInfo : public CObject
{
DECLARE_SERIAL(CUserInfo);
public:
CUserInfo();
virtual ~CUserInfo();
public:
CString strName;
CString strAddress;
public:
CUserInfo& operator=(const CUserInfo& p); //重载=运算符
CUserInfo(const CUserInfo& p); //拷贝构造函数
virtual void Serialize(CArchive& ar); //重载Serialize
};
//////////////UserInfo.CPP
IMPLEMENT_SERIAL(CUserInfo,CObject,0)
CUserInfo::CUserInfo(){
}
CUserInfo::~CUserInfo(){
}
CUserInfo& CUserInfo::operator =(const CUserInfo& p)
{
strName=p.strName;
strAddress=p.strAddress;
return *this;
}
CUserInfo::CUserInfo(const CUserInfo& p)
{
*this=p;
}
void CUserInfo::Serialize(CArchive& ar)
{
if(ar.IsStoring())
{
ar<<strName<<strAddress;
}
else
{
ar>>strName>>strAddress;
}
}
////////////在文档类定义m_array
CArray<CUserInfo,CUserInfo&> m_array;
void CMyDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
}
else
{
}
m_array.Serialize(ar); ////元素CUserInfo::Serialize没有被调用
}