CDumpContext

CDumpContextCDumpContext没有基类 。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>