///////////////////////////////////////////////////////////////////////// // Serialv.cpp - demonstrate reading and writing with CArchive // // // // Changyong Shi, CSE791 - Advanced Windows Programming, Summer 2001 // ///////////////////////////////////////////////////////////////////////// #include #include "serialv.h" #include using namespace std; //#define TEST_MY_CLASS IMPLEMENT_SERIAL(CMyclass,CObject,2|VERSIONABLE_SCHEMA) void CMyclass::Serialize(CArchive &ar){ CObject::Serialize (ar); if (ar.IsStoring()) ar<>m_a>>m_b; m_c = 0; //default value break; case 2: // Version 2 ar>>m_a>>m_b>>m_c; break; default: //Unknown version AfxThrowArchiveException (CArchiveException::badSchema); break; } } } #ifdef TEST_MY_CLASS void main(){ CMyclass* pMyclass = new CMyclass(2, 3, 4); CFile theFile(_T("archFile.txt"), CFile::modeReadWrite|CFile::modeCreate| CFile::modeNoTruncate); CArchive ar1(&theFile, CArchive::store); cout<sum()<> pMyclass2; cout<<"Reading the sum from archive: "; cout<< pMyclass2->sum()<