次の方法で共有


STATIC_DOWNCAST

class_name の オブジェクトへのポインターにキャストの pobject

STATIC_DOWNCAST(class_name, pobject )

パラメーター

  • class_name
    にキャスト クラスの名前。

  • pobject
    class_name の オブジェクトへのポインターにキャストするポインター。

解説

pobject はclass_nameから直接派生する、または間接的に、必要があります。クラスのオブジェクトへの NULL、またはポイントである。定義された _DEBUG のプリプロセッサ シンボルを使用したアプリケーションのビルドではマクロは pobject がNULLの場合は class_name パラメーターで指定されたクラス 「の」種類 (ではないオブジェクトをポイントすると CObject::IsKindOfを参照してください) ASSERT_DEBUG の非ビルドでは、マクロは型チェックなしでキャストを実行します。

class_name パラメーターで指定されているクラスはから派生し、 CObject 技術情報 CObject クラス: CObject から派生するクラスを作成します。で説明しているように DECLARE_DYNAMICIMPLEMENT_DYNAMICDECLARE_DYNCREATEIMPLEMENT_DYNCREATE、または DECLARE_SERIALIMPLEMENT_SERIAL のマクロを使用する必要があります。

たとえば、式を使用して CDocument へのポインターに pMyDocという CMyDocポインターにキャストしますかも知れません:

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

pMyDoc が CDocumentから直接または間接的に派生オブジェクトを指していないマクロは ASSERT

必要条件

ヘッダー : afx.h

参照

関連項目

DYNAMIC_DOWNCAST

static_cast 演算子

概念

MFC マクロとグローバル