Partilhar via


CArchive::SerializeClass

Chame essa função de membro para armazenar e carregar as informações de versão de uma classe base.

void SerializeClass(
   const CRuntimeClass* pClassRef 
);

Parâmetros

  • pClassRef
    Um ponteiro para um objeto de classe de time de execução para a classe base.

Comentários

SerializeClass lê ou grava a referência a uma classe para o CArchive objeto, dependendo da direção das CArchive. Use SerializeClass em vez de ReadClass and WriteClass sistema autônomo uma maneira conveniente de serializar objetos da classe base; SerializeClass requer menos código e menos parâmetros.

Como ReadClass, SerializeClass verifica se as informações de classe arquivada são compatível com sua classe em tempo de execução. Se não for compatível, SerializeClass lançará um CArchiveException.

A classe tempo de execução deve usar DECLARE_SERIAL and IMPLEMENT_SERIAL; caso contrário, SerializeClass lançará um CNotSupportedException.

Use o RUNTIME_CLASS macro para recuperar o valor de pRuntimeClass parâmetro. A classe base deve ter usado o IMPLEMENT_SERIAL macro.

Exemplo

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

Requisitos

Cabeçalho: afx.h

Consulte também

Referência

Classe CArchive

Gráfico de hierarquia

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

Classe CArchiveException

Classe CNotSupportedException

Outros recursos

CArchive membros