■ RTTI (Run-Time Type Information)
- C++에서는 RTTI를 완벽하게 지원하지 않는다. 때문에 MS는 Compiler 차원에서 RTTI를 지원해 주기 위한 방법을 구현해낸 것이 CRuntimeClass와 여러가지 매크로 함수를 제공하고 있다.
■ CRuntimeClass
- 본질적으로 특정 클래스에 대한 정보를 담고 있는 구조체이다.
- 일반화된 객체 생성 : 클래스 이름을 사용하지 않고 객체를 생성하는 기능
기반 클래스를 가지고 있지 않다.
- 세 종류의 매크로를 제공한다.
DECLARE_DYNCREATE()
IMPLEMENT_DYNCREATE()
RUNTIME_CLASS()
■ IMPLEMENT_DYNCREATE(CSimpleCalc, CCmdTarget)
- 첫번째 변수는 동적으로 생성하고자 하는 객체 클래스 이름
- 두번째 변수는 그 클래스가 상속 받는 기반 클래스의 이름
ex) 메인 프레임의 경우, 기반 클래스가 CFrameWnd 이면 단일 도큐먼트(SDI), CMDIFrameWnd 이면 다중 도큐먼트(MDI) 형식이다.
■ RUNTIME_CLASS 매크로
- class 정보를 구하는 매크로
- 주로 현재 사용하는 클래스가 유효한 클래스인지 판단
'개발지식창고 > MFC' 카테고리의 다른 글
MFC 내부에 감추어진 것들 (0) | 2010.07.30 |
---|---|
다중 도큐먼트 ( MDI : Multiple Document Interface ) (0) | 2010.07.30 |
컴파일 시 Release 모드와 Debug 모드의 차이 (0) | 2010.07.30 |
CScrollView (분할 윈도우에 주로 사용되는 클래스 특징) (0) | 2010.07.29 |
현재모듈 실행 경로 얻어오기 (0) | 2010.07.28 |