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