다음을 통해 공유


CRuntimeClass::IsDerivedFrom

호출 클래스에 지정 된 클래스에서 파생 되는지 여부를 확인 하려면이 함수를 호출 하 여 pBaseClass 매개 변수.

BOOL IsDerivedFrom(
   const CRuntimeClass* pBaseClass 
) const;

매개 변수

  • pBaseClass
    파생 클래스의 친숙 한 이름을 CObject.

반환 값

True 이면 경우 클래스 호출 IsDerivedFrom 자료에서 파생 된 클래스의 CRuntimeClass 구조; 매개 변수로 지정 그렇지 않으면 거짓.

설명

"구성원의 클래스 파생된 클래스에서 체인의 제일 위쪽으로 이동" 관계를 결정 합니다.이 함수는 반환 거짓 일치 하는 기본 클래스에 대 한 항목이 있는 경우.

[!참고]

사용 하는 CRuntimeClass 구조체에는 IMPLEMENT_DYNAMIC, IMPLEMENT_DYNCREATE, 또는 IMPLEMENT_SERIAL 매크로 런타임 개체 정보를 검색 하려는 클래스의 구현에서.

사용에 대 한 자세한 내용은 CRuntimeClass, 문서를 참조 하십시오. CObject 클래스: 런타임 클래스 정보 액세스.

예제

// This example creates an object from the run-time class. It only 
// creates objects derived from CWnd.

// We only want to create an object derived from CWnd.
if (!pClass->IsDerivedFrom(RUNTIME_CLASS(CWnd)))
{
   TRACE(_T("Error; Object %s is not derived from CWnd\n"),
      pClass->m_lpszClassName);
   return FALSE;
}

// Get a pointer to the base class CRuntimeClass.
#ifdef _AFXDLL
   CRuntimeClass* pBaseClass = pClass->m_pfnGetBaseClass();
#else
   CRuntimeClass* pBaseClass = pClass->m_pBaseClass;
#endif
ASSERT(pBaseClass != NULL);

TRACE("Creating object %s derived from %s, with object size %d "
   "and schema %d\n", pClass->m_lpszClassName, 
   pBaseClass->m_lpszClassName, pClass->m_nObjectSize, 
   pClass->m_wSchema);

// Create the object.
CObject* pObject = pClass->CreateObject();

요구 사항

헤더: afx.h

참고 항목

참조

CRuntimeClass 구조체

계층 구조 차트