CDumpContext没有基类。
CDumpContext类支持采用人工可读的文本进行基于流的诊断输出。可以为大部分堆使用预先声明的CDumpContext对象afxDump 。afxDump对象仅在Microsoft基础类库版本中有效。
一些存储诊断函数将afxDump用于它们的输出。
在Windows 环境下,预定义的afxDump对象的输出,在原理上与cerr流类似。通过Windows 函数OutputDebugString输送到调试程序。
CDumpContext类对于堆对象数据的CObject指针插入操作符(<<)。如果需要定制一个派生对象的堆格式,覆盖CObject::Dump。许多MicrosoftFoundation 类都实现了函数覆盖Dump成员函数。
CString,CTime和CTimeSpan等不是从CObject派生的类拥有它们自己的装载CDumpContext插入符,同经常使用的CFileStatus,CPoint和CRect等结构一样。
如果在类实现过程中使用了IMPLEMTNT_DYNAMIC或IMPLEMTNT_SERIAL宏,CObject::Dump将打印CObject派生类的名字,否则,它将打印CObject。
CDumpContext类在库的Debug和Release中有效,但Dump成员函数仅在Debug版本中被定义。使用#ifdef_DEBUG/#endif声明包括诊断代码,包括定制的Dump成员函数。
在创建自己的CDumpContext对象之前,必须创建一个CFile对象作为堆目的地。
#define_DEBUG
#include <afx.h>