CObject::AssertValid
このオブジェクトの整合性を検証します。
virtual void AssertValid( ) const;
解説
AssertValid は内部状態のチェックによって、このオブジェクトの有効性チェックを実行します。ライブラリのデバッグ バージョンでは、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