Condividi tramite


CObject::AssertValid

Convalida l'integrità di questo oggetto.

virtual void AssertValid( ) const;

Note

AssertValid esegue un controllo di validità su questo oggetto mediante il relativo stato interno. Nella versione di debug della raccolta, AssertValid può asserire e terminare quindi il programma con un messaggio che elenca il numero di riga e il nome file dell'asserzione non riuscita.

Quando si scrive una classe, è necessario eseguire l'override della funzione AssertValid per fornire servizi diagnostici per se stessi e altri utenti della classe. AssertValid ignorata in genere chiama la funzione AssertValid della relativa classe base prima di archiviare i membri dati univoca alla classe derivata.

Poiché AssertValid è una funzione const, non è consentito modificare lo stato di un oggetto durante il test. Le funzioni personalizzate AssertValid della classe derivata non deve generare eccezioni ma devono effettuare un'asserzione se rilevano dati non validi dell'oggetto.

La definizione di "validità" dipende dalla classe dell'oggetto. In generale, la funzione deve eseguire "un controllo in apparenza". Ovvero se un oggetto contiene i puntatori altri oggetti, deve verificare i puntatori non sia null, ma non deve eseguire il test di validità sugli oggetti definiti dai puntatori.

Esempio

Vedere CObList::CObList per un elenco CAge utilizzata in tutti gli esempi CObject.

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

Per un esempio, vedere AfxDoForAllObjects.

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe CObject

Grafico delle gerarchie