Поделиться через


STATIC_DOWNCAST

Pobject приводит к указателю на объект class_name.

STATIC_DOWNCAST(class_name, pobject )

Параметры

  • class_name
    Имя класса, приведение к.

  • pobject
    Указатель, который необходимо привести к указателю на объект class_name.

Заметки

pobject должно быть либо NULL, либо выберите объект класса, производный прямо или косвенно, из class_name. В разработке приложения с указанным символ препроцессора, макрос _DEBUG будет иметь значение ASSERT, если нет pobjectNULL, или если оно указывает на объект, отличное от «типа» класса, определенного в параметре class_name (см. CObject::IsKindOf). В построениях, макрос _DEBUG не выполняет приведение без какой-либо проверки типа.

Класс, определенный в параметре class_name должен наследоваться от CObject и должен использовать DECLARE_DYNAMIC и IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE и IMPLEMENT_DYNCREATE или макросы DECLARE_SERIAL и IMPLEMENT_SERIAL, как описано в статье Класс CObject: Производный класс от CObject.

Например, можно привести указатель на CMyDoc, вызываемому pMyDoc, к указателю на CDocument с помощью это выражение:

CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);

Если pMyDoc не указывает на объект, производный прямо или косвенно от CDocument, макрос будет ASSERT.

Требования

Header: afx.h

См. также

Ссылки

DYNAMIC_DOWNCAST

Оператор static_cast

Основные понятия

Макросы и глобальные объекты MFC