Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Třída CArchive

Graf hierarchie

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

Třída CArchiveException

Třída CNotSupportedException