아무거나 개발공부/C++
MFC - CRuntimeClass
코드 살인마
2021. 6. 18. 11:06
728x90
기능
- 클래스 이름을 사용하지 않고 객체를 생성한다.
- 메모리 상에 객체의 자료형을 검사한다.
- 메모리 상에 객체의 유효성을 검사한다.
- 객체 직렬화(Serialization)에 대한 정보를 제공한다.
사용조건
- CRuntimeClass 구조체를 이 기능을 사용하려는 클래스의 static 멤버변수로 입력
- CRuntimeClass 구조체를 static 멤버변수로 사용하기 위해 3가지 매크로 이용
- 선언부 : DECLARE_DYNAMIC, DYNCREATE, SERIAL 정의부 : IMPLEMENT_DYNAMIC 나머지 같음
뒤의 매개변수에 따라 기능이 달라짐 - CObject로부터 상속받아야 한다. (CObject는 MFC의 최상위 클래스)
- MFC 내부에서 CRuntimeClass를 이용하는 객체에 접근할 때, CObject가 필요
CRuntimeClass를 이용하는 객체의 자료형을 검사할 때 사용되는 isKindOf 함수가 CObject에 선언되어 있슴