Fundamentals of Serialization - MFC

Run-Time Object Model Support

2025-11-10

Written by: xiaobin

Add Class - MFC Class

add class - MFC Class add class - MFC Class

When to use virtual destructors?

In the Add Class Wizard:

Serialization class

DECLARE_SERIAL(CConnectString)
IMPLEMENT_SERIAL(CConnectString, CObject, 1)

member

private:
    CString Server;
    CString Db;
    CString User;
    CString Pwd;
    int     Type;

Serializating an Object

virtual void Serialize(CArchive& ar);
void CConnectString::Serialize(CArchive &ar)
{
    CObject::Serialize(ar);

    if (ar.IsStoring()) {
        ar << Server << Db << User << Pwd << Type;
    }
    else {
        ar >> Server >> Db >> User >> Pwd >> Type;
    }
}

getter and setter

option

    //// Getter and Setter
    CString GetServer(void);
    void    SetServer(CString server);
    CString GetDb(void);
    void    SetDb(CString db);
    CString GetUser(void);
    void    SetUser(CString user);
    CString GetPwd(void);
    void    SetPwd(CString pwd);
    int     GetType(void);
    void    SetType(int type);
//// Getter and Setter
CString CConnectString::GetServer(void)
{
    return Server;
}

void    CConnectString::SetServer(CString server)
{
    Server = server;
}
CString CConnectString::GetDb(void)
{
    return Db;
}
void    CConnectString::SetDb(CString db)
{
    Db = db;
}
CString CConnectString::GetUser(void)
{
    return User;
}
void    CConnectString::SetUser(CString user)
{
    User = user;
}
CString CConnectString::GetPwd(void)
{
    return Pwd;
}
void    CConnectString::SetPwd(CString pwd)
{
    Pwd = pwd;
}
int     CConnectString::GetType(void)
{
    return Type;
}
void    CConnectString::SetType(int type)
{
    Type = type;
}