CRuntimeClass 에 기본 클래스。
CObject 에서 파생 된 각 클래스는 런타임 시 개체 또는 해당 기본 클래스에 대 한 정보를 가져오는 데 사용할 수 있는 CRuntimeClass 구조체와 연결 됩니다. 런타임에 개체 클래스를 결정 하는 기능 추가 형식 함수 인수 검사, 필요할 때 또는 개체의 클래스를 기반으로 하는 특수 한 목적의 코드를 작성 해야 하는 경우에 유용 합니다. 런타임 클래스 정보는 c + + 언어에서 직접 지원 되지 않습니다.
구조는 다음과 같은 회원:
LPCSTR m_lpszClassName
ASCII 클래스 이름이 포함 된 null로 끝나는 문자열。
int m_nObjectSize
바이트 단위로 개체 크기입니다. 개체에 데이터 멤버 할당 된 메모리를 그 시점, 그 메모리의 크기는 포함。
UINT m_wSchema
스키마 번호 (nonserializable 클래스에 대 한-1). IMPLEMENT_SERIAL 매크로 대 한 설명은 스키마 번호 참조。
CObject * (파스칼 * m_pfnCreateObject))
클래스의 개체를 만들고 기본 생성자에 대 한 함수 포인터 (유효한 클래스 동적 만들기; 지원 경우에 그렇지 않으면 NULL을 반환)。
CRuntimeClass * (파스칼 * m_pfn_GetBaseClass))
응용 프로그램은 동적으로 링크 경우 MFC의 AFXDLL 버전, 함수에 대 한 포인터 반환 하는 기본 클래스의 CRuntimeClass 구조。
CRuntimeClass * m_pBaseClass
MFC 기본 클래스의 CRuntimeClass 구조를 가리키는 포인터에 정적으로 링크 된 응용 프로그램은。
기능만 Professional 및 Enterprise Edition에nbsp;??Mfc 정적 링크 기능이 Visual c + + Professional 및 Enterprise Edition에만 지원 됩니다. 자세한 내용은 참조 Visual c + + 버전(&N)。
CObject * CreateObject);
CObject 에서 파생 된 클래스는 런타임에 지정된 된 클래스의 개체를 만들 수 있다는 동적 생성을 지원할 수 있습니다. 문서, 뷰 및 프레임 클래스 예를 들어, 동적 생성을 지원 한다. 이 기능을 구현 하 고 런타임에 이러한 클래스에 대 한 개체를 만드는 CreateObject 멤버 함수를 사용할 수 있습니다. 동적 생성 및 CreateObject 회원 자세한 내용은 참조 CObject 클래스 주제 및 CObject 클래스: 기능 수준 지정 Visual c + + 프로그래머 가이드。
BOOL IsDerivedFrom (const CRuntimeClass * pBaseClass) const;
IsDerivedFrom 를 호출 하는 클래스 멤버를 클래스의 CRuntimeClass 구조체 매개 변수로 지정 하는 기본 클래스에서 파생 하는 경우 TRUE 를 반환 합니다. IsDerivedFrom 파생된 클래스의 멤버의 클래스 체인에서 위쪽으로 산책 하 고 기본 클래스에 없는 일치 하는 경우에 FALSE 를 반환 합니다.
메모nbsp;CRuntimeClass 구조체를 사용 하려면 런타임 개체 정보를 검색 하려는 클래스의 구현에서 IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE또는 IMPLEMENT_SERIAL 매크로 포함 해야 합니다(&N).
CRuntimeClass사용에 자세한 내용은 다음 웹 사이트를 참조 하십시오. 문서 CObject 클래스: 런타임 클래스 정보 액세스 Visual c + + 프로그래머 가이드。
참고 항목nbsp;CObject::GetRuntimeClass, CObject::IsKindOf, RUNTIME_CLASS, IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, IMPLEMENT_SERIAL(&N)