CObject::GetRuntimeClass

傳回 CRuntimeClass 結構與這個物件類別對應。

virtual CRuntimeClass* GetRuntimeClass( ) const;

傳回值

CRuntimeClass 結構的指標會和這個物件類別對應;絕對不 NULL

備註

對每個 CObjectCRuntimeClass 結構的衍生類別。結構成員如下:

  • 包含 ASCII 類別名稱的LPCSTR m_lpszClassName A null 結尾的字串。

  • int m_nObjectSize 物件的大小,以位元組為單位)。如果物件具有指向配置之記憶體的資料成員,則該記憶體的大小不是包含的。

  • UINT m_wSchema 結構描述數字 (– 1 不能序列化類別的)。提供結構描述數字的說明請參閱 IMPLEMENT_SERIAL 巨集。

  • CObject* ( PASCAL* m_pfnCreateObject )( ) 會被建立自己的類別的預設建構函式的函式指標 (有效物件,只有在類別支援動態建立;否則,會傳回 NULL)。

  • CRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( ) ,如果應用程式使用 MFC AFXDLL 版本動態連接,就會傳回基底類別的 CRuntimeClass 結構的函式的指標。

  • CRuntimeClass* m_pBaseClass ,如果應用程式是以靜態方式連結到 MFC,則可以使用基底類別的 CRuntimeClass 結構的指標。

這個函式需要在類別中實作的 IMPLEMENT_DYNAMICIMPLEMENT_DYNCREATEIMPLEMENT_SERIAL 巨集。您將不會得到不正確的結果。

範例

針對所有 CObject 範例的 CAge 類別的目錄參閱 CObList::CObList

CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge")  == 0);   

需求

Header: afx.h

請參閱

參考

CObject 類別

階層架構圖

CObject::IsKindOf

RUNTIME_CLASS