Partager via


STATIC_DOWNCAST

Lance pobject sur un pointeur vers un objet de nom_de_classe.

STATIC_DOWNCAST(class_name, pobject )

Paramètres

  • nom de classe
    Le nom de la classe vers laquelle on lance.

  • pobject
    Le pointeur à lancer sur un pointeur vers un objet de nom_de_classe.

Notes

pobject doit être soit NULL, ou indiquer un objet d'une classe dérivée directement ou indirectement de nom_de_classe. Dans les versions de votre application avec symbole _DEBUG du préprocesseur défini, la macro va VERIFIER si le pobject n'est pas NULL, ou s'il indique un objet qui n'est pas un « type » de la classe spécifiée dans le paramètre nom_de_lasse (consultez CObject::IsKindOf). Dans les versions ne disposant pas de**_DEBUG**, la macro effectue la conversion sans vérification de type.

La classe spécifiée dans le paramètre de nom_de_classe doit être dérivée de CObject et doit utiliser les macros DECLARE_DYNAMIC et IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE et IMPLEMENT_DYNCREATE, ou DECLARE_SERIAL et IMPLEMENT_SERIAL comme expliqué dans l'article Classe de CObject : Dérivation d'une classe depuis CObject.

Par exemple, vous pouvez lancer un pointeur vers CMyDoc, appelé pMyDoc, sur un pointeur vers CDocument en utilisant l'expression suivante :

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

Si pMyDoc n'indique pas un objet dérivé directement ou indirectement de CDocument, la macro va VERIFIER.

Configuration requise

En-tête : afx.h

Voir aussi

Référence

DYNAMIC_DOWNCAST

static_cast, opérateur

Concepts

macro MFC et Globals