Partager via


STATIC_DOWNCAST

Effectue un cast du pobject à un pointeur vers un objet de class_name .

STATIC_DOWNCAST(class_name, pobject )

Paramètres

  • class_name
    Le nom de la classe qui est castée en.

  • pobject
    Le pointeur à être castées en un pointeur vers un objet de class_name .

Notes

le pobject doit être NULL, ou point à un objet d'une classe dérivée, directement ou indirectement, de class_name.Dans les builds de votre application avec le symbole de préprocesseur de _DEBUG défini, la macro ASSERT si le pobject n'est pas NULL, ou qu'il pointe vers un objet qui n'est pas « type » de classe spécifiée dans le paramètre de class_name (consultez CObject::IsKindOf).Dans les builds indépendant de**_DEBUG** , le effectue un cast sans aucune vérification de type.

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

Par exemple, vous pouvez effectuer un cast d'un pointeur vers CMyDoc, pMyDocappelé, un pointeur vers CDocument à l'aide de cette expression :

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

Si pMyDoc n'indique pas un objet dérivé directement ou indirectement de CDocument, le ASSERT.

Configuration requise

Header: afx.h

Voir aussi

Référence

DYNAMIC_DOWNCAST

opérateur de static_cast

Concepts

Macro MFC et Globals