CArchive::SerializeClass
저장 하 고 기본 클래스의 버전 정보를 로드할 때이 멤버 함수를 호출 합니다.
void SerializeClass(
const CRuntimeClass* pClassRef
);
매개 변수
- pClassRef
기본 클래스에 대 한 런타임 클래스 개체에 대 한 포인터입니다.
설명
SerializeClass읽기 / 쓰기 참조 하는 클래스에는 CArchive 의 방향에 따라 개체의 CArchive. 사용 SerializeClass 를 ReadClass 및 WriteClass 기본 클래스 개체를 serialize 하는 편리한 방법으로 SerializeClass작은 코드와 적은 매개 변수가 필요합니다.
다음과 같이 ReadClass, SerializeClass 보관 된 클래스 정보를 런타임 클래스와 호환 되는지 확인 합니다. 호환 되지 않는 경우 SerializeClass throw 되는 CArchiveException.
런타임 클래스를 사용 해야 DECLARE_SERIAL 및 IMPLEMENT_SERIAL. 그렇지 않으면 SerializeClass throw 되는 CNotSupportedException.
사용 된 RUNTIME_CLASS 매크로 대 한 값을 검색 하는 pRuntimeClass 매개 변수. 사용 해야 하는 기본 클래스의 IMPLEMENT_SERIAL 매크로.
예제
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);
}
요구 사항
헤더: afx.h