次の方法で共有


STATIC_DOWNCAST

pobjectclass_name オブジェクトへのポインターにキャストします。

STATIC_DOWNCAST(class_name, pobject )

パラメーター

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

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

解説

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

指定されたクラス、class_nameからパラメーターを派生する必要がありますCObjectと使用する必要があります、DECLARE_DYNAMICIMPLEMENT_DYNAMICDECLARE_DYNCREATEIMPLEMENT_DYNCREATE、またはDECLARE_SERIALIMPLEMENT_SERIALで説明したようのマクロCObject クラス:CObject からクラスを派生

たとえば、次の式を使用して pMyDoc と呼ばれる CMyDoc へのポインターを CDocument へのポインターにキャストできます。

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

pMyDoc が CDocument オブジェクトを直接または間接的に指していない場合、マクロは ASSERT を発生します。

必要条件

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

参照

参照

DYNAMIC_DOWNCAST

static_cast Operator

概念

MFC マクロとグローバル