Freigeben über


STATIC_DOWNCAST

Wandelt pobject in einen Zeiger auf einen class_name-Objekt um.

STATIC_DOWNCAST(class_name, pobject )

Parameter

  • class_name
    Der Name der Klasse, die konvertiert wird.

  • pobject
    Der Zeiger auf einen Zeiger umgewandelt werden können, in einen class_name-Objekt.

Hinweise

pobject muss entweder NULL sein, oder zeigen Sie auf ein Objekt einer Klasse abgeleitet ist, die direkt oder indirekt vom class_name.In den Builds Ihrer Anwendung mit dem definierten _DEBUG Präprozessorsymbol, wird das Makro ASSERT, wenn pobject nicht NULL ist oder wenn es auf ein Objekt zeigt, das keine "Typ" Klasse ist, die im class_name-Parameter angegeben ist ( CObject::IsKindOf wird).Bei Nicht-_DEBUG Builds wird das Makro ohne Typüberprüfung die Umwandlung aus.

Die Klasse, die im class_name-Parameter angegeben wird, muss der CObject abgeleitet sein und muss DECLARE_DYNAMIC und IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE und IMPLEMENT_DYNCREATE, oder die DECLARE_SERIAL und IMPLEMENT_SERIAL Makros verwenden, wie im Artikel CObject-Klasse: Eine Klasse von CObject abgeleitete erläutert.

Zum Beispiel wandelten Sie möglicherweise einen Zeiger auf CMyDoc aufgerufen, um pMyDoc, in einen Zeiger auf CDocument mithilfe dieses Ausdrucks:

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

Wenn pMyDoc sich nicht auf ein Objekt zeigt, das sich direkt oder indirekt von CDocument abgeleitet ist, wird das Makro ASSERT.

Anforderungen

Header: afx.h

Siehe auch

Referenz

DYNAMIC_DOWNCAST

static_cast Operator

Konzepte

MFC-Makros und -globale Werte