Шаг 633 - CObject::Dump

virtual void Dump( CDumpContext& dc ) const;

Параметры
dc
Диагностический контекст дампа для формирования дампа, обычно afxDump.

Замечания
Формирует дамп содержания вашего объекта к объекту CDumpContext.
Когда Вы записываете Ваш собственный класс, Вы должны перегрузить функцию Dump, чтобы обеспечить диагностические услуги для вас непосредственно и других пользователей вашего класса. Перегруженный Dump обычно вызывает функцию Dump базового класса перед печатью элементов данных, уникальных к полученному классу. CObject::Dump печатает имя класса, если ваш класс использует макрокоманду

IMPLEMENT_DYNAMIC ИЛИ IMPLEMENT_SERIAL.

Ваша функция Dump не должна печатать newline символ в конце вывода.
Обращения к функции Dump имеют смысл только в Отладочной версии MFC. Вы должны использовать обращения, функциональные объявления, и функциональные реализации с #ifdef _DEBUG/#endif утверждениями для условной трансляции.
Так как Dump - функция константы, Вам не разрешают изменить объектное состояние в течение дампа.
CDumpContext insertion (<<) operator оператор вызывает Dump, когда CObject указатель вставлен. Дамп разрешает только "нециклическое" формирование дампа объектов. Вы можете формировать дамп списка объектов например, но если один из объектов - список непосредственно, Вы в конечном счете переполните стек.

Пример

// См. CObList::CObList для просмотра класса CAge, 
// используемого в CObject примерах. 
// пример для  CObject::Dump
void CAge::Dump( CDumpContext &dc ) const
{
	CObject::Dump( dc );
	dc << "Age = " << m_years;
}


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