기능 수준 지정
이 문서에서는 다음과 같은 수준의 기능을 추가 하는 방법을 설명에 CObject-파생 클래스:
런타임 클래스 정보
동적 생성 지원
Serialization 지원
대 한 일반 설명은 CObject 기능, 문서를 참조 하십시오. Cobject에서 클래스를 파생 시키는.
런타임 클래스 정보를 추가 하려면
파생 클래스에서 CObject에 설명 된 대로의 Cobject에서 클래스를 파생 문서.
사용은 DECLARE_DYNAMIC 매크로를 다음과 같이 클래스 선언에:
class CPerson : public CObject { DECLARE_DYNAMIC( CPerson ) // other declarations };
사용은 IMPLEMENT_DYNAMIC 매크로 구현 파일에서 (.CPP) 클래스입니다.이 매크로 다음과 같이 인수로 클래스 및 해당 기본 클래스의 이름을 사용합니다.
IMPLEMENT_DYNAMIC( CPerson, CObject )
[!참고]
항상 배치 IMPLEMENT_DYNAMIC 구현 파일에서 (.CPP) 클래스입니다.IMPLEMENT_DYNAMIC 매크로 컴파일하는 동안 한 번만 평가 해야 하는 인터페이스 파일에 따라서 사용할 수 없습니다 (.H)는 잠재적으로 두 개 이상의 파일을 포함할 수 있습니다.
동적 생성 지원을 추가 하려면
파생 클래스에서 CObject.
사용은 DECLARE_DYNCREATE 매크로에서 클래스 선언 합니다.
(기본 생성자) 인수를 사용 하는 생성자를 정의 합니다.
사용은 IMPLEMENT_DYNCREATE 매크로 클래스 구현 파일에서입니다.
Serialization 지원을 추가 하려면
파생 클래스에서 CObject.
재정의 Serialize 멤버 함수입니다.
[!참고]
호출 하는 경우 Serialize 직접, 즉, 원하지 않는 다형 포인터를 통해 개체를 serialize 하려면 3-5 단계를 생략 합니다.
사용은 DECLARE_SERIAL 매크로에서 클래스 선언 합니다.
(기본 생성자) 인수를 사용 하는 생성자를 정의 합니다.
사용은 IMPLEMENT_SERIAL 매크로 클래스 구현 파일에서입니다.
[!참고]
"다형 포인터" 클래스의 개체를 가리키는 (호출 A) 나는 (예의 B) 파생 된 모든 클래스의 개체입니다.다형 포인터를 통해 serialize 하려면 프레임 워크 (A) 일부 기본 클래스에서 파생 된 모든 클래스의 개체를 수 있습니다 이후 (B)를 serialize 되는 개체의 런타임 클래스를 확인 해야 합니다.
클래스를 파생 시킬 때 serialization을 사용 하는 방법에 자세한 내용은 CObject, 기사를 참조 하십시오. MFC의 파일 및 Serialization.