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