Cobject에서 클래스를 파생합니다.
이 문서에서 클래스를 파생 시키는 데 필요한 최소 단계에 설명 합니다. CObject.다른 CObject 클래스 문서 특정 기능을 활용 하는 데 필요한 단계를 설명 합니다. CObject serialization 및 진단 디버깅 지원과 같은 기능을 합니다.
토론의 CObject, 인터페이스 용어 "파일" 및 "구현 파일"에 자주 사용 됩니다.인터페이스 파일 (보통 헤더 파일 이라고 나.H 파일) 클래스 선언과 클래스 사용에 필요한 기타 정보가 포함 되어 있습니다.구현 파일 (또는.CPP 파일)에서 클래스 멤버 함수를 구현 하는 코드 뿐만 아니라 클래스 정의 포함 되어 있습니다.예를 들어, 명명 된 클래스의 CPerson, 라는 사용자 인터페이스 파일을 일반적으로 만들어집니다.H와 구현 파일은 사람 이라는.CPP입니다.그러나 응용 프로그램 간에 공유 되지 않습니다 일부 소규모 클래스에 대 한이 인터페이스 구현이 단일 결합 하기 쉬운 경우가 있습니다.CPP 파일입니다.
클래스에서 파생 하는 경우에 네 가지 수준의 기능을 선택할 수 있습니다 CObject:
기본 기능: 런타임 클래스 정보나 serialization을 지원 하지 않습니다 하지만 진단 메모리 관리를 포함 합니다.
기본 기능 지원을 런타임 클래스 정보
기본 기능 및 런타임 클래스 정보 및 동적 생성을 지원 합니다.
기본 기능 및 런타임 클래스 정보, 동적 생성 및 serialization을 지원 합니다.
모든 향후 serialization 필요할 것으로 예상 되는 경우 (그는 나중에 기본 클래스가 될 수) 재사용을 위해 디자인 된 클래스 적어도 런타임 클래스 지원 및 serialization 지원을 포함 해야 합니다.
선언 및 구현에서 파생 되는 클래스의 특정 선언 및 구현 매크로 사용 하 여 기능 수준을 선택 CObject.
다음 표에서 serialization 및 런타임 정보를 지 원하는 데 사용 되는 매크로 간의 관계를 보여 줍니다.
Serialization 및 런타임 정보를 사용 하는 매크로
매크로 사용 |
CObject::IsKindOf |
개의 CRuntimeClass:: CreateObject |
CArchive::operator >> CArchive::operator << |
---|---|---|---|
기본 CObject 기능 |
아니요 |
아니요 |
아니요 |
DECLARE_DYNAMIC |
예 |
아니요 |
아니요 |
DECLARE_DYNCREATE |
예 |
예 |
아니요 |
DECLARE_SERIAL |
예 |
예 |
예 |
CObject 기본 기능을 사용 하지
일반 C++ 구문을 사용 하 여 클래스에서 파생 시키는 CObject (또는 파생 된 클래스에서 CObject).
다음 예제에서는 가장 간단한 경우, 파생 클래스의 CObject:
class CSimple : public CObject { // add CSimple-specific members and functions... };
그러나 정상적으로, 일부 무시 하려는 수 있습니다 CObject의 멤버 함수를 새 클래스의 세부 사항을 처리 합니다.예를 들어, 일반적으로 재정의 하려는 수는 Dump 함수를 CObject 클래스의 내용에 대 한 디버깅 출력을 제공 합니다.재정의 하는 방법에 대 한 자세한 내용은 Dump, 문서를 참조 하십시오. 진단: 개체 내용을 덤프.재정의할 수도 있습니다의 AssertValid 함수를 CObject 개체 클래스의 데이터 멤버의 일관성을 확인 하는 사용자 지정 된 테스트를 제공 합니다.재정의 하는 방법에 대 한 설명은 AssertValid를 참조 하십시오 MFC ASSERT_VALID 및 CObject::AssertValid.
문서 기능 수준 지정 런타임 클래스 정보, 동적 개체 생성 및 serialization을 포함 하 여 기능의 다른 수준을 지정 하는 방법에 설명 합니다.