CDumpContext
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>