방법: 서비스에 대한 정보 로깅
반환 된 CRuntimeClass 이 개체의이 클래스에 해당 하는 구조입니다.
virtual CRuntimeClass* GetRuntimeClass( ) const;
반환 값
에 대 한 포인터는 CRuntimeClass 구조에 해당 하는이 개체 클래스입니다. 절대로 NULL.
설명
하나의 CRuntimeClass 구조 마다 CObject-클래스를 파생 합니다.구조체 멤버는 다음과 같습니다.
LPCSTR m_lpszClassName ASCII 클래스 이름이 포함 된 null로 끝나는 문자열입니다.
int m_nObjectSize 의 크기 (바이트)에서입니다.해당 지점에 할당 된 메모리 개체의 데이터 멤버를 포함 하는 경우 해당 메모리의 크기는 포함 되지 않습니다.
UINT m_wSchema 스키마 번호 (– nonserializable 클래스에 대 한 1).참조는 IMPLEMENT_SERIAL 매크로 대 한 설명은 스키마 번호입니다.
CObject * (파스칼 * m_pfnCreateObject) () (유효한 클래스 동적 생성; 지만 클래스의 개체를 만드는 기본 생성자 함수 포인터 그렇지 않으면 반환 NULL).
CRuntimeClass * (파스칼 * m_pfn_GetBaseClass) () 신청이 AFXDLL 버전의 MFC 동적으로 연결 된 경우에 함수 포인터를 반환 된 CRuntimeClass 구조체의 기본 클래스입니다.
CRuntimeClass * m_pBaseClass 응용 프로그램 포인터를 MFC 정적으로 링크 하는 경우는 CRuntimeClass 구조체의 기본 클래스입니다.
이 함수를 사용 해야는 클래스, IMPLEMENT_DYNCREATE, 또는 IMPLEMENT_SERIAL 매크로 클래스 구현에서.그렇지 않으면 잘못 된 결과 얻을 수 있습니다.
예제
볼 CObList::CObList 에 CAge 클래스 모두에서 사용 CObject 예.
CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge") == 0);
요구 사항
헤더: afx.h