티스토리 뷰

MFC

MFC의 클래스 정보 제공 기능

hoiogi 2010. 9. 7. 16:50

MFC에서 타 라이브러리 보다 가장 돋보이는 기능이 있다면 CObject에서 제공하는 4가지 기능이다.

1.직렬화(Serialization) 기능

2.실행 중 클래스 정보 제공( Runtime Class Information - RTCI)

3.디버깅 진단 기능 제공( dump ), leak 추적 기능

4.컬렉션 클래스와 상호 호환


이중 실행 중 클래스 정보 제공 기능을 살펴 보면 MFC에서는 이를 위해서 다음과 같은 3가지 매크로를 제공한다.

DECLARE_DYNAMIC : 실행 중 클래스 정보 제공

DECLARE_DYNCREATE : 실행 중 클래스 정보 제공, RUNTIME_CLASS 매크로를 이용하여 객체 생성 가능

DECLARE_SERIAL : DECLARE_DYNCREATE 기능, 직렬화 기능 제공


따라서, DECLARE_DYNCREATE나 DECLARE_SERIAL를 이용하여 작성된 클래스는 다음과 같이 객체 생성이 가능하다.

CRuntimeClass *pRuntimeClass = RUNTIME_CLASS(CMyFrameWnd);

CMyFrameWnd *pFrame = (CMyFrameWnd*)pRuntimeClass->CreateObject();

pFrame->Create(...);


DECLARE_DYNAMIC은 IsKindof 등을 런타임 클래스 정보를 얻어 올수는 있지만..

RUNTIME_CLASS 매크로를 이용하여 객체 생성은 하지 못하는 것으로 알고 있습니다


출처 : http://urassa.tistory.com/tag/DECLARE_SERIAL

'MFC' 카테고리의 다른 글

작업디렉토리 얻어오기/설정하기  (0) 2010.09.06
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함