首页 > 试题广场 >

声明一个 Person 类,并使之支持序列化。

[问答题]

声明一个 Person 类,并使之支持序列化。

推荐

程 序:

class CPerson: public CObject
{
DECLARE_SERIAL( CPerson)
LONG m_IDnumber; // 身份证号码
CString m_strName; // 姓名
CString m_strNation; // 民族
int m_nSex; // 性别
int m_nAge; // 年龄
BOOL m_bMarried; // 婚否
public:
CEmployee(){};
CPerson& operator = (CPerson& person);
void Serialize(CArchive& ar);
};
IMPLEMENT_SERIAL( CPerson, CObject, 1 )
CPerson& CPerson::operator = (CPerson& person)
{
m_IDnumber = person.m_IDnumber;
m_strName = person.m_strName;
m_strNation = person.m_strNation;
m_nSex = person.m_nSex;
m_nAge = person.m_nAge;
m_bMarried = person.m_bMarried;
return *this;
}
void CPerson::Serialize(CArchive& ar)
{
CObject::Serialize( ar); // 首先调用基类的 Serialize()方法
if(ar.IsStoring())
{
ar << m_IDnumber;
ar << m_strName;
ar << m_strNation;
ar << m_nSex;
ar << m_nAge;
ar << (int)m_bMarried;
}
else
{
ar >> m_IDnumber;
ar >> m_strName;
ar >> m_strNation;
ar >> m_nSex;
ar >> m_nAge;
ar >> (int)m_bMarried;
}
}


发表于 2018-04-18 20:48:08 回复(0)