Freigeben über


CObject::AssertValid

Überprüft die Integrität dieses Objekts.

virtual void AssertValid( ) const;

Hinweise

AssertValid führt eine Gültigkeitsüberprüfung auf dieses Objekt aus, indem es seinen internen Zustand überprüft.In der Debugversion der Bibliothek, AssertValid kann das Programm mit einer daher Meldung für und endet, die Zeilennummer und den Dateinamen aufgelistet werden, in der die Assertion fehlgeschlagen ist.

Wenn Sie eine eigene Klasse schreiben, sollten Sie die AssertValid-Funktion überschreiben, um Diagnosedienste für sich und andere Benutzer der Klasse bereitzustellen.Überschriebene AssertValid ruft normalerweise die AssertValid-Funktion ihrer Basisklasse auf, bevor Datenmember eindeutig der abgeleiteten Klasse überprüft.

Da AssertValid eine const-Funktion ist, werden Sie nicht zulässig, um den Objektzustand während des Tests zu ändern.eigene AssertValid-Funktionen der abgeleiteten Klasse sollten keine Ausnahmen auslösen, sollten jedoch nicht berücksichtigen, ob sie ungültige Objektdaten erkennen.

Die Definition "der Gültigkeit" hängt vom Objekts ab.In der Regel sollte die Funktion eine flache "Überprüfung" ausführen. Das heißt, wenn ein Objekt Zeiger auf andere Objekte enthält, sollte sie überprüft, um festzustellen, ob die Zeiger nicht NULL sind, sollte jedoch Gültigkeitstests für die Objekte nicht ausführen, die von Zeigern verwiesen werden.

Beispiel

Siehe CObList::CObList für Listen der CAge-Klasse, die in allen CObject Beispielen verwendet wird.

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

Ein weiteres Beispiel finden Sie unter AfxDoForAllObjects.

Anforderungen

Header: afx.h

Siehe auch

Referenz

CObject-Klasse

Hierarchien-Diagramm