CArchive::SerializeClass
Volání funkce člena při ukládání a načítání informací o verzi základní třídy.
void SerializeClass(
const CRuntimeClass* pClassRef
);
Parametry
- pClassRef
Ukazatel na objekt třídy run-time pro základní třídy.
Poznámky
SerializeClassčtení nebo odkaz na třídu k zápisu CArchive objektu podle směru CArchive .Použití SerializeClass místo ReadClass a WriteClass jako pohodlný způsob, jak serializovat objekty třídy base; SerializeClassvyžaduje méně kódu a menším počtem parametrů.
Jako ReadClass , SerializeClass ověří, zda je kompatibilní s vaší třídy runtime třídy archivované informace.Pokud není kompatibilní, SerializeClass vyvolají CArchiveException.
Musíte použít třídy runtime DECLARE_SERIAL a IMPLEMENT_SERIAL; jinak SerializeClass vyvolají CNotSupportedException.
Použití RUNTIME_CLASS makro načíst hodnotu pRuntimeClass parametr.Musí mít základní třídu použita IMPLEMENT_SERIAL makro.
Příklad
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);
}
Požadavky
Záhlaví: afx.h