Partager via


CObject::AssertValid

Valide l'état de cet objet.

virtual void AssertValid( ) const;

Notes

AssertValid effectue une vérification de la validité sur cet objet en vérifiant son état interne. Dans la version debug de la bibliothèque, AssertValid peut déclarer et exécuter le programme à un message qui indique le numéro de ligne et le nom du fichier où l'assertion a échoué.

Lorsque vous écrivez votre propre classe, vous devez substituer la fonction d' AssertValid pour fournir des services de diagnostic par vous-même et d'autres utilisateurs de votre classe. AssertValid substitution appelle généralement la fonction d' AssertValid de sa classe de base avant de valider les données membres seule à la classe dérivée.

Étant donné qu' AssertValid est une fonction de const , vous n'êtes pas autorisé à modifier l'état d'objet pendant le test. Vos propres fonctions dérivées d' AssertValid de classe ne doit pas lever d'exceptions mais plutôt doivent déclarer s'ils détectent des données non valides d'objet.

La définition de la validité «  » dépend de la classe d'objets. En règle générale, la fonction doit exécuter « un contrôle superficiel ». Autrement dit, si un objet contient des pointeurs vers d'autres objets, elle doit vérifier si les pointeurs ne sont pas null, mais elle ne doit pas exécuter les tests de validité sur les objets référés par les pointeurs.

Exemple

Consultez CObList::CObList pour obtenir l'intégralité de la classe d' CAge utilisée dans les exemples d' CObject .

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

Pour obtenir un autre exemple, consultez l' AfxDoForAllObjects.

Configuration requise

Header: afx.h

Voir aussi

Référence

CObject, classe

Graphique de la hiérarchie