CObject::AssertValid

Виртуальный void AssertValid ( ) const;

Примечания

AssertValid выполняет проверку достоверности этого объекта, проверив его внутреннее состояние. В отладочной версии библиотеки AssertValid может утверждать и таким образом завершить программу с сообщением, которое содержит номер строки и имени файла где ложное утверждение.

При написании собственного класса, необходимо переопределить функцию AssertValid для оказания диагностических услуг для себя и других пользователей вашего класса. Переопределенный AssertValid обычно вызывает функцию AssertValid базового класса перед проверкой члены данных, уникальных для производного класса.

Поскольку AssertValid функцию const , вам не разрешается изменить состояние объекта во время испытания. Собственные функции AssertValid производного класса, не должен создавать исключения, но скорее утверждает ли они обнаруживаются данные недопустимого объекта.

Определение понятия «действительность» зависит от класса объекта. Как правило функция должна выполнить «неполную проверку.» То есть если объект содержит указатели на другие объекты, он должен проверить ли указатели не равны нулю, но он не должен выполнять действия, тестирование на объекты ссылаются указатели.

Пример

Смотрите CObList::CObList список CAge класс, используемая во всех примерах CObject.

/ / Пример для CObject::AssertValid
void CAge::AssertValid() const
{
 nbsp;  CObject::AssertValid();
    ASSERT (m_years > 0); 
    ASSERT (m_years < 105);
}

Обзор от CObjectЧлены класса | Иерархическая схема

Index