次の方法で共有


CObject::Dump

更新 : 2007 年 11 月

オブジェクトの内容を CDumpContext オブジェクトにダンプします。

virtual void Dump(
   CDumpContext& dc 
) const;

パラメータ

  • dc
    ダンプ用の診断ダンプ コンテキスト。通常は、afxDump です。

解説

独自のクラスを作成するとき、診断サービスを用意するために Dump 関数をオーバーライドします。オーバーライドした Dump 関数では、通常派生クラス独自のデータ メンバを出力する前に、基本クラスの Dump 関数を呼び出します。CObject::Dump 関数でクラス名を出力するには、派生クラスで IMPLEMENT_DYNAMIC マクロまたは IMPLEMENT_SERIAL マクロを使用します。

tz0w4e3c.alert_note(ja-jp,VS.90).gifメモ :

オーバーライドした Dump 関数で、出力の最後に改行を出力する必要はありません。

Dump 関数の呼び出しは、MFC ライブラリのデバッグ環境でのみ可能です。関数の宣言や実装は、条件付きコンパイルの #ifdef _DEBUG/#endif ステートメントで囲んで呼び出します。

Dump 関数は const 関数なので、ダンプ中にオブジェクトの状態は変更できません。

CDumpContext::operator << は、CObject ポインタが出力されるとき、Dump 関数を呼び出します。

"サイクリックでない" オブジェクトのダンプだけが可能です。たとえば、オブジェクトのリストはダンプできますが、そのオブジェクトの 1 つがリスト自体を指しているときは、スタック オーバーフローを引き起こします。

使用例

すべての CObject の例で使われている CAge クラスのリストについては、「CObList::CObList」を参照してください。

void CAge::Dump(CDumpContext &dc) const
{
   CObject::Dump(dc);
   dc << _T("Age = ") << m_years;
}

必要条件

ヘッダー : afx.h

参照

参照

CObject クラス

階層図

その他の技術情報

CObject のメンバ