次の方法で共有


CArchive::WriteClass

更新 : 2007 年 11 月

WriteClass は、派生クラスのシリアル化中に、基本クラスのバージョン情報とクラス情報を格納するために使用します。

void WriteClass(
   const CRuntimeClass* pClassRef 
);

パラメータ

  • pClassRef
    要求されたクラス参照に対応する CRuntimeClass 構造体へのポインタ。

解説

WriteClass は、基本クラスの CRuntimeClass への参照を CArchive に書き込みます。参照を取得する場合は、CArchive::ReadClass を使用します。

WriteClass は、アーカイブされたクラス情報がランタイム クラスに互換性があるかどうかを検証します。互換性がない場合、WriteClassCArchiveException をスローします。

ランタイム クラスでは、DECLARE_SERIAL および IMPLEMENT_SERIAL を使用する必要があります。使用しない場合、WriteClassCNotSupportedException をスローします。

WriteClass の代わりに SerializeClass を使用すると、クラス参照の読み込みと書き込みの両方を処理できます。

使用例

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();                  
}

必要条件

ヘッダー : afx.h

参照

参照

CArchive クラス

階層図

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

CArchiveException クラス

CNotSupportedException クラス

CObList::CObList

その他の技術情報

CArchive のメンバ