CObject::GetRuntimeClass
このオブジェクトのクラスに対応する CRuntimeClass の構造体を返します。
virtual CRuntimeClass* GetRuntimeClass( ) const;
戻り値
このオブジェクトのクラスに対応する CRuntimeClass の構造体へのポインター; は null。
解説
各 CObjectの CRuntimeClass の 1 個の構造体派生クラスがあります。構成要素は次のとおりです:
ASCII のクラス名を含むLPCSTR m_lpszClassName の A によって null で終わる文字列。
int m_nObjectSize バイトのオブジェクトのサイズ。オブジェクトに割り当てられたメモリを指すデータ メンバーがある場合、そのメモリのサイズは含まれません。
スキーマUINT m_wSchema 数 (– nonserializable クラスの場合は 1)。スキーマ数の詳細については、IMPLEMENT_SERIAL のマクロを参照してください。
クラスが動的生成をサポートする場合にのみ、クラスのオブジェクトを作成するための既定のコンストラクターへのCObject* ( PASCAL* m_pfnCreateObject )( ) A の関数ポインター (有効な; それ以外の場合は null)。
アプリケーションが MFC の AFXDLL のバージョンと動的にリンクCRuntimeClass* ( PASCAL* m_pfn_GetBaseClass )( )、基本クラスの CRuntimeClass の構造体を返す関数へのポインター。
アプリケーションが MFC と静的にリンクCRuntimeClass* m_pBaseClass、基本クラスの CRuntimeClass の構造体へのポインター。
この関数は、クラスの実装の IMPLEMENT_DYNAMIC、IMPLEMENT_DYNCREATE、または IMPLEMENT_SERIAL マクロの使用が必要です。不正な結果を別の方法で取得します。
使用例
CObject のすべての例で使用されている CAge のクラスのリストについては、CObList::CObList を参照してください。
CAge a(21);
CRuntimeClass* prt = a.GetRuntimeClass();
ASSERT(strcmp(prt->m_lpszClassName, "CAge") == 0);
必要条件
ヘッダー : afx.h