CRuntimeClass基本クラスがありません。
CObjectから派生した各クラスを使用して実行時オブジェクトまたはその基本クラスの情報を取得できますを持つ CRuntimeClass構造体に関連付けられています。実行時にオブジェクトのクラスを決定する関数引数の特別な型チェックが必要な場合、またはオブジェクトのクラスに基づいた専用コードを記述する場合に便利です。ランタイム クラス情報、C++ 言語で直接サポートされていません。
構造は、次のメンバーをです。:
LPCSTR m_lpszClassName
ASCII のクラス名を含む null で終わる文字列。
int m_nObjectSize
バイトでは、オブジェクトのサイズ。オブジェクトのデータ メンバーは割り当てられたメモリを指すが、メモリのサイズには含まれていません。
UINT m_wSchema
スキーマの数 (-1 をシリアル化できないクラス) です。IMPLEMENT_SERIALマクロのスキーマ番号の説明を参照してください。
CObject ※ (パスカル ※ m_pfnCreateObject))
あなたのクラスのオブジェクトを作成、既定のコンス トラクターへの関数ポインター (有効なクラスを動的に作成; をサポートする場合にのみそれ以外の場合、 NULLを返します)。
CRuntimeClass ※ (パスカル ※ m_pfn_GetBaseClass))
アプリケーションが、AFXDLL バージョンの MFC を動的にリンクされている場合は、関数へのポインターが基本クラスのCRuntimeClass構造を返します。
CRuntimeClass ※ m_pBaseClass
MFC は、基本クラスのCRuntimeClass構造へのポインターをアプリケーションが静的にリンクされているかどうか。
Professional および Enterprise Edition の機能のみの特価;静的に 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を返します。
注特価;持つ CRuntimeClass構造体を使用するには、実行時のオブジェクト情報を取得するクラスの実装では、 IMPLEMENT_DYNAMIC、 IMPLEMENT_DYNCREATE、またはIMPLEMENT_SERIALマクロを含める必要があります。(&N)。
CRuntimeClassを使用しての詳細については、参照してください CObject クラス: ランタイム クラス情報へのアクセスでVisual の C++ プログラマのガイド。
参照特価;CObject::GetRuntimeClass、 CObject::IsKindOf、 RUNTIME_CLASS、 IMPLEMENT_DYNAMIC、 IMPLEMENT_DYNCREATE、 IMPLEMENT_SERIAL(&N)