Share via


CObject::IsKindOf

指定したクラスとオブジェクトの関係を調べます。

BOOL IsKindOf(
   const CRuntimeClass* pClass 
) const;

パラメーター

  • pClass
    CObject 派生クラスに関連付けられた CRuntimeClass 構造体へのポインター。

戻り値

クラスに対応するオブジェクトの場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

この関数は pClass で指定したオブジェクトが (1) 指定したクラスのオブジェクトかどうか、(2) 指定したクラスから派生されたクラスのオブジェクトかどうかを調べます。 この関数は、DECLARE_DYNAMICDECLARE_DYNCREATE、または DECLARE_SERIAL のいずれかのマクロで定義されたクラスでだけ有効です。

この関数を多用すると C++ のポリモーフィズム特性を損なうことになります。 代わりに仮想関数を使います。

使用例

すべての CObject の例で使われている CAge クラスのリストについては、「CObList::CObList」を参照してください。

CAge a(21);  // Must use IMPLEMENT_DYNAMIC, IMPLEMENT _DYNCREATE, or
             // IMPLEMENT_SERIAL
ASSERT(a.IsKindOf(RUNTIME_CLASS(CAge)));
ASSERT(a.IsKindOf(RUNTIME_CLASS(CObject)));   

必要条件

**ヘッダー:**afx.h

参照

処理手順

ランタイム クラス情報へのアクセス方法

参照

CObject クラス

階層図

CObject::GetRuntimeClass

RUNTIME_CLASS

その他の技術情報

CObject のメンバー