Share via


CObject::AssertValid

オブジェクトの整合性を評価します。

virtual void AssertValid( ) const;

解説

オブジェクト内部の状態をチェックすることで、オブジェクトの有効性をチェックします。 AssertValid 関数は、ライブラリのデバッグ環境でアサートできます。この関数は、アサーションに失敗したファイル名と行番号をメッセージ出力し、プログラムを終了します。

独自のクラスを作成するとき、診断サービスを用意するために AssertValid 関数をオーバーライドします。 オーバーライドした AssertValid 関数では、通常派生クラス独自のデータ メンバーをチェックする前に、基本クラスの AssertValid 関数を呼び出します。

AssertValid 関数は const 関数なので、テストの間にオブジェクトの状態の変更はできません。 派生クラスの AssertValid 関数では、不正なオブジェクト データを検出したときに、例外をスローするのではなく、アサートするようにします。

"有効性" の定義は、オブジェクトのクラスに依存しています。 一般に、関数では "簡単なチェック" を行うようにします。つまり、オブジェクトがほかのオブジェクトへのポインターを持っているとき、ポインターが null でないことを調べる程度で、ポインターが参照しているオブジェクトの有効性はチェックしません。

使用例

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

void CAge::AssertValid() const
{
   CObject::AssertValid();
   ASSERT(m_years > 0); 
   ASSERT(m_years < 105);
}

別の例については、「AfxDoForAllObjects」を参照してください。

必要条件

**ヘッダー:**afx.h

参照

参照

CObject クラス

階層図

その他の技術情報

CObject のメンバー