CObject::AssertValid
Sprawdza integralność tego obiektu.
virtual void AssertValid( ) const;
Uwagi
AssertValidwykonuje sprawdzenie ważności tego obiektu przez sprawdzanie stanu wewnętrznego.W wersji debugowej biblioteki AssertValid może dochodzić i dlatego zakończyć program wyświetla numer wiersza i nazwa_pliku komunikatem gdzie potwierdzenia nie powiodło się.
Pisząc własne klasy, należy zastąpić AssertValid funkcji usługi diagnostyczne dla siebie i innych użytkowników klasy.Zastąpiona AssertValid zwykle wywołuje AssertValid funkcji swojej klasy bazowej przed sprawdzeniem członków dane unikatowe dla klas pochodnych.
Ponieważ AssertValid jest const funkcji, nie wolno zmienić stan obiektu podczas badania.Klasy pochodne AssertValid funkcje nie powinien zgłosić wyjątki, ale raczej powinny assert czy wykryją nieprawidłowy obiekt danych.
Definicja "ważności" zależy od klasy obiektu.Jako zasada funkcja należy wykonać "Sprawdzanie shallow". Oznacza to, że jeśli obiekt zawiera odsyłacze do innych obiektów, to należy sprawdzić czy wskaźników nie mają wartości null, ale nie należy wykonywać testowanie obiektów określoną przez wskaźniki ważności.
Przykład
Zobacz CObList::CObList listę CAge w całej klasy CObject przykłady.
void CAge::AssertValid() const
{
CObject::AssertValid();
ASSERT(m_years > 0);
ASSERT(m_years < 105);
}
Innym przykładem, zobacz AfxDoForAllObjects.
Wymagania
Nagłówek: afx.h