Condividi tramite


STATIC_DOWNCAST

Pobject dei cast a un puntatore a un oggetto di class_name.

STATIC_DOWNCAST(class_name, pobject )

Parametri

  • class_name
    Il nome della classe che viene eseguito il cast a.

  • pobject
    Il puntatore da eseguire il cast a un puntatore a un oggetto di class_name.

Note

il pobject deve corrispondere NULL, o punti a un oggetto di una classe che deriva direttamente o indirettamente, da class_name. Nelle compilazioni dell'applicazione con il simbolo del preprocessore di _DEBUG definito, la macro ASSERT se il pobject non è NULL, o se indica un oggetto che non è un "tipo" della classe specificata nel parametro del class_name (vedere CObject::IsKindOf). Nelle compilazioni non di**_DEBUG**, la macro esegue il cast senza alcun controllo dei tipi.

La classe specificata nel parametro del class_name deve essere derivata da CObject e deve utilizzare DECLARE_DYNAMIC e IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE e IMPLEMENT_DYNCREATE, o le macro di IMPLEMENT_SERIAL e di DECLARE_SERIAL come illustrato nell'articolo Classe da CObject: Derivando una classe da CObject.

Ad esempio, eseguire il cast di un puntatore a CMyDoc, denominato pMyDoc, un puntatore a CDocument utilizzando questa espressione:

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

Se pMyDoc non indica un oggetto derivato direttamente o indirettamente da CDocument, la macro ASSERT.

Requisiti

Intestazione: afx.h

Vedere anche

Riferimenti

DYNAMIC_DOWNCAST

Operatore static_cast

Concetti

Macro e funzioni globali MFC