Шаг 233 - ASSERT_KINDOF

Этот макрос позволяет определитиь принадлежность объекта классу.

ASSERT_KINDOF( classname, pobject )
// Classname 	Имя класса.
// Pobject    	Указатель на объект класса.

Данный макрос упрощает использование функции IsKindOf, вот смотрите, что написано в исходном коде:

#define ASSERT_KINDOF(class_name, object) \
	ASSERT((object)->IsKindOf(RUNTIME_CLASS(class_name)))

Соответственно к использованию данного макроса требования такие же, как и к IsKindOf это только в отладочной версии. Обязательное объвление в классе DECLARE_DYNAMIC или DECLARE_SERIAL.

Вот смотрите ниже две строки кода совершенно однозначны:

ASSERT_KINDOF(CMyDocument, pDocument)
ASSERT(pDocument->IsKindOf(RUNTIME_CLASS(CMyDocument)));

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 22.08.2000