Share via


CObject::Dump

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

virtual void Dump(
   CDumpContext& dc 
) const;

パラメーター

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

解説

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

注意

オーバーライドした 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 のメンバー