CObject 및 CRuntimeClass 클래스가 런타임 클래스 정보, 직렬화, 및 동적 개체 생성에 대 한 액세스를 포함 하 여 여러 가지 개체 서비스를 캡슐화 합니다. CObject 에서 파생 된 모든 클래스는이 기능을 상속。
런타임 클래스 정보 액세스를 사용 하면 런타임에 개체의 클래스에 대 한 정보를 확인할 수 있습니다. 런타임에 개체 클래스를 결정 하는 기능 추가 형식 검사 함수의 인수 및 개체의 클래스를 기반으로 하는 특수 한 목적의 코드를 작성 해야 할 때 유용 합니다. 런타임 클래스 정보는 c + + 언어에서 직접 지원 되지 않습니다.
직렬화는 쓰기 또는 읽기 또는 개체의 내용을 파일에서 프로세스입니다. 직렬화를 사용 하 여 응용 프로그램 종료 후에 개체의 콘텐츠를 저장할 수 있습니다. 응용 프로그램이 다시 시작 될 때 개체는 파일에서 다음 읽을 수 있습니다. 이러한 데이터 개체 "영구." 수 있다
동적 개체 만들기를 사용 하면 런타임에 지정된 된 클래스의 개체를 만들 수 있습니다. 예를 들어, 문서, 뷰 및 프레임 개체 지원 해야 합니다 동적 생성 프레임 워크를 동적으로 생성 하기 때문에。
다음 표에서 런타임 클래스 정보, 직렬화, 및 동적 생성을 지 원하는 MFC 매크로。
이러한 런타임 개체 서비스와 serialization에 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 CObject 클래스: 런타임 클래스 정보 액세스 Visual c + + 프로그래머 가이드。
| DECLARE_DYNAMIC | 런타임 클래스 정보 (클래스 선언에 사용할 수 있어야 합니다)에 액세스할 수 있도록。 |
| DECLARE_DYNCREATE | 동적 생성 및 런타임 클래스 정보 (클래스 선언에 사용할 수 있어야 합니다)에 대 한 액세스 가능。 |
| DECLARE_SERIAL | Serialization 및 런타임 클래스 정보 (클래스 선언에 사용할 수 있어야 합니다)에 대 한 액세스 가능。 |
| IMPLEMENT_DYNAMIC | 런타임 클래스 정보 (클래스 구현에서 사용할 수 있어야 합니다)에 액세스할 수 있도록。 |
| IMPLEMENT_DYNCREATE | 동적 생성 및 실행 시간 정보 (클래스 구현에서 사용할 수 있어야 합니다)에 대 한 액세스 가능。 |
| IMPLEMENT_SERIAL | Serialization 및 런타임 클래스 정보 (클래스 구현에서 사용할 수 있어야 합니다)에 대 한 액세스 허용。 |
| RUNTIME_CLASS | 명명 된 클래스에 해당 CRuntimeClass 구조체를 반환 합니다. |
OLE 자주 런타임에 개체의 동적 생성을 필요로 합니다. 예를 들어, OLE 서버 응용 프로그램이 클라이언트 요청에 대 한 응답에서 OLE 항목을 동적으로 만들 수 있어야 합니다. 마찬가지로, 자동화 서버를 자동화 클라이언트 요청에 대 한 응답에 항목을 만들 수 있어야。
마이크로소프트 파운데이션 클래스 라이브러리 두 매크로 특정 OLE 제공。
OLE 개체의 동적 생성
| DECLARE_OLECREATE | 개체를를 OLE 자동화를 통해 만들 수 있습니다. |
| IMPLEMENT_OLECREATE | 개체를를 OLE 시스템에 의해 만들 수 있습니다. |