共用方式為


CArchive::WriteClass

使用 WriteClass 在衍生類別中的序列化時儲存基底類別版本的和類別的資訊。

void WriteClass(
   const CRuntimeClass* pClassRef 
);

參數

  • pClassRef
    對應於要求的類別參考的 CRuntimeClass 結構的指標。

備註

WriteClass 為基底類別寫入 CRuntimeClass 的參考 CArchive。 使用 CArchive::ReadClass 擷取參考。

WriteClass 驗證封存的類別資訊與您的執行階段類別相容。 如果不相容, WriteClass 會擲回 CArchiveException

您的執行階段類別必須使用 DECLARE_SERIALIMPLEMENT_SERIAL;否則,會擲回 WriteClassCNotSupportedException

您可以使用 SerializeClass 而不是 WriteClass,處理類別參考的讀取和寫入。

範例

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Store the class CAge in the archive.
arStore.WriteClass(RUNTIME_CLASS(CAge));

// Close the storing archive.
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Load a class from the archive.
CRuntimeClass* pClass = arLoad.ReadClass();
if (!pClass->IsDerivedFrom(RUNTIME_CLASS(CAge)))
{
   arLoad.Abort();                  
}

需求

Header: afx.h

請參閱

參考

CArchive 類別

階層架構圖

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

CArchiveException 類別

CNotSupportedException 類別

CObList::CObList