다음을 통해 공유


CArchive::SerializeClass

저장 하 고 기본 클래스의 버전 정보를 로드할 때이 멤버 함수를 호출 합니다.

void SerializeClass(
   const CRuntimeClass* pClassRef 
);

매개 변수

  • pClassRef
    기본 클래스에 대 한 런타임 클래스 개체에 대 한 포인터입니다.

설명

SerializeClass읽기 / 쓰기 참조 하는 클래스에는 CArchive 의 방향에 따라 개체의 CArchive.사용 SerializeClassReadClassWriteClass 기본 클래스 개체를 serialize 하는 편리한 방법으로 SerializeClass작은 코드와 적은 매개 변수가 필요합니다.

다음과 같이 ReadClass, SerializeClass 보관 된 클래스 정보를 런타임 클래스와 호환 되는지 확인 합니다.호환 되지 않는 경우 SerializeClass throw 되는 CArchiveException.

런타임 클래스를 사용 해야 DECLARE_SERIALIMPLEMENT_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

참고 항목

참조

CArchive 클래스

계층 구조 차트

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchiveException 클래스

CNotSupportedException 클래스