释义 |
CObject::Dump
virtual void Dump( CDumpContext& dc ) const;
参数:dc | 用于转储的诊断性转储文本,通常该值为afxDump。 |
说明: 将对象的内容转储到CDumpContext 对象中。 当编写了自己的类后,应当覆盖Dump函数,来为你自己和使用你的类的用户提供诊断服务。被覆盖的Dump在打印对应于派生类的数据成员之前,通常调用它基类的Dump函数。如果你的类使用了IMPLEMENT_DYNAMIC和IMPLEMENT_SERIAL宏,那么CObject::Dump将打印类名。 注意:Dump函数在输出末尾不应打印换行符。 Dump调用仅仅在Microsoft基础类库的调试版本中有意义。对于有条件的编译,应当使用#ifdef _DEBUG/#endif声明将函数调用、函数声明、及函数执行括起来。 既然Dump为一个常量函数,那么在转储期间不允许改变对象的状态。当插入了CObject指针,CDumpContext插入(<<)操作符将调用Dump函数。 Dump仅仅允许进行对象的“非周期”转储。例如,可以转储一系列对象,但假如其中一个对象就是列表本身,那么最终将导致栈溢出。
示例:请参阅CObList::CObList,了解所有CObject示例中使用的CAge类。 // example for CObject::Dump void CAge::Dump( CDumpContext &dc ) const { CObject::Dump( dc ); dc << "Age = " << m_years; } |