CArchive::SerializeClass
Chiamare la funzione membro quando si desidera archiviare e caricare le informazioni sulla versione di una classe base.
void SerializeClass(
const CRuntimeClass* pClassRef
);
Parametri
- pClassRef
Un puntatore a un oggetto classe di runtime per la classe base.
Note
SerializeClass lettura o scrittura il riferimento a una classe all'oggetto CArchive, come la direzione CArchive. Utilizzare SerializeClass anziché ReadClass e WriteClass come comodo mezzo per serializzare gli oggetti della classe base; SerializeClass richiede meno codice e meno parametri.
Come ReadClass, SerializeClass verifica che le informazioni sulle classi archiviate siano compatibili con la classe di runtime. Se non è compatibile, SerializeClass genererà CArchiveException.
La classe di runtime deve utilizzare DECLARE_SERIAL e IMPLEMENT_SERIAL; in caso contrario, SerializeClass genererà CNotSupportedException.
Utilizzare la macro RUNTIME_CLASS per recuperare il valore del parametro pRuntimeClass. La classe di base deve utilizzare la macro IMPLEMENT_SERIAL.
Esempio
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);
}
Requisiti
Header: afx.h