다음을 통해 공유


기능 수준 지정

이 문서에서는 다음과 같은 수준의 기능을 추가 하는 방법을 설명에 CObject-파생 클래스:

  • 런타임 클래스 정보

  • 동적 생성 지원

  • Serialization 지원

대 한 일반 설명은 CObject 기능, 문서를 참조 하십시오. Cobject에서 클래스를 파생 시키는.

런타임 클래스 정보를 추가 하려면

  1. 파생 클래스에서 CObject에 설명 된 대로의 Cobject에서 클래스를 파생 문서.

  2. 사용은 DECLARE_DYNAMIC 매크로를 다음과 같이 클래스 선언에:

    class CPerson : public CObject 
    {
       DECLARE_DYNAMIC( CPerson )
    
       // other declarations
    };
    
  3. 사용은 IMPLEMENT_DYNAMIC 매크로 구현 파일에서 (.CPP) 클래스입니다.이 매크로 다음과 같이 인수로 클래스 및 해당 기본 클래스의 이름을 사용합니다.

    IMPLEMENT_DYNAMIC( CPerson, CObject )
    

[!참고]

항상 배치 IMPLEMENT_DYNAMIC 구현 파일에서 (.CPP) 클래스입니다.IMPLEMENT_DYNAMIC 매크로 컴파일하는 동안 한 번만 평가 해야 하는 인터페이스 파일에 따라서 사용할 수 없습니다 (.H)는 잠재적으로 두 개 이상의 파일을 포함할 수 있습니다.

동적 생성 지원을 추가 하려면

  1. 파생 클래스에서 CObject.

  2. 사용은 DECLARE_DYNCREATE 매크로에서 클래스 선언 합니다.

  3. (기본 생성자) 인수를 사용 하는 생성자를 정의 합니다.

  4. 사용은 IMPLEMENT_DYNCREATE 매크로 클래스 구현 파일에서입니다.

Serialization 지원을 추가 하려면

  1. 파생 클래스에서 CObject.

  2. 재정의 Serialize 멤버 함수입니다.

    [!참고]

    호출 하는 경우 Serialize 직접, 즉, 원하지 않는 다형 포인터를 통해 개체를 serialize 하려면 3-5 단계를 생략 합니다.

  3. 사용은 DECLARE_SERIAL 매크로에서 클래스 선언 합니다.

  4. (기본 생성자) 인수를 사용 하는 생성자를 정의 합니다.

  5. 사용은 IMPLEMENT_SERIAL 매크로 클래스 구현 파일에서입니다.

[!참고]

"다형 포인터" 클래스의 개체를 가리키는 (호출 A) 나는 (예의 B) 파생 된 모든 클래스의 개체입니다.다형 포인터를 통해 serialize 하려면 프레임 워크 (A) 일부 기본 클래스에서 파생 된 모든 클래스의 개체를 수 있습니다 이후 (B)를 serialize 되는 개체의 런타임 클래스를 확인 해야 합니다.

클래스를 파생 시킬 때 serialization을 사용 하는 방법에 자세한 내용은 CObject, 기사를 참조 하십시오. MFC의 파일Serialization.

참고 항목

개념

Cobject에서 클래스를 파생합니다.