Главная » Статьи » Програмування » C++ | [ Добавить статью ] |
Константный метод.Говорят, что метод объекта обладает свойством неизменности (константности), если после его выполнения состояние объекта не изменяется.Если не контролировать свойство неизменности, то его обеспечение будет целиком зависеть от квалификации программиста. Если же "неизменный" метод в процессе выполнения будет производить посторонние эффекты, то результат может быть самым неожиданным,отлаживать и поддерживать такой код очень тяжело. Язык С++ позволяет пометить метод как константный. При этом неконстантные методы объекта запрещается использовать в теле помеченного метода, и в контексте этого метода ссылки на сам объект и все его поля будут константны. Для обозначения константности, используется модификатор const. Примечание: Кстати!!! Также существует
возможность пометить ссылку (или указатель) как константную. Применительно к
ссылке свойство константности означает, что через эту ссылку можно вызывать
только константные методы. Присвоение константной ссылки неконстантной
запрещено.
Давайте, рассмотрим пример класса с константными методами:
В данном примере методы Name, Age, Picture объявлены константными. Кроме того, можно наблюдать и использование константных указателей: параметр методов SetName и SetPicture, возвращаемое значение методов Name и Picture. Компилятор обеспечит проверку того, что реализация константных методов не имеет побочных эффектов в виде изменения состояния объекта, реализующего класс Personal. Как только обнаружится попытка выполнить запрещенную операцию, компилятор сообщит об ошибке. | |||
Просмотров: 1063 | |
Всего комментариев: 0 | |