Aracılığıyla paylaş


CArchive::SerializeClass

Depolamak ve bir temel sınıf sürüm bilgileri yüklemek istediğinizde bu üye işlevini çağırın.

void SerializeClass(
   const CRuntimeClass* pClassRef 
);

Parametreler

  • pClassRef
    Çalışma zamanı sınıf nesnesi için temel sınıf için bir işaretçi.

Notlar

SerializeClassokur ya da bir sınıfın referansı Yazar CArchive yönüne bağlı olarak nesne CArchive. Use SerializeClass yere ReadClass ve WriteClass ; temel sınıf nesneleri seri hale getirmek için kullanışlı bir yol olarak SerializeClassdaha az kod ve daha az parametre gerektirir.

Gibi ReadClass, SerializeClass arşivlenmiş sınıf bilgilerini çalışma zamanı sınıf ile uyumlu olduğunu doğrular. Uyumlu değilse, SerializeClass yaratacak bir CArchiveException.

Çalışma zamanı sınıfını kullanmalısınız DECLARE_SERIAL ve IMPLEMENT_SERIAL; Aksi takdirde, SerializeClass yaratacak bir CNotSupportedException.

Use RUNTIME_CLASS değerini almak için makro pRuntimeClass parametresi. Temel sınıf kullanmış IMPLEMENT_SERIAL makro.

Örnek

class CBaseClass : public CObject 
{
   DECLARE_SERIAL(CBaseClass);
};
class CDerivedClass : public CBaseClass
{
public:
   virtual void Serialize(CArchive& ar);
};
void CDerivedClass::Serialize(CArchive& ar)
{
   if (ar.IsStoring())
   {
      //normal code for storing contents 
      //of this object
   }
   else
   {
      //normal code for reading contents 
      //of this object
   }

   //allow the base class to serialize along 
   //with its version information
   ar.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Gereksinimler

Başlık: afx.h

Ayrıca bkz.

Başvuru

CArchive sınıfı

Hiyerarşi grafik

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchiveException sınıfı

CNotSupportedException sınıfı