Константный метод помечен ключевым словом const после списка параметров. Он гарантирует, что не изменит состояние объекта (поля класса).
Особенности константных методов:
- Доступ к членам данных: Могут только читать нестатические члены данных класса. Изменять их запрещено, если только они не помечены как
mutable.
- Вызов других методов: Могут вызывать только другие константные методы того же объекта. Вызов неконстантных методов запрещен, так как они потенциально могут изменить состояние объекта.
- Перегрузка: Метод может быть перегружен с константной и неконстантной версией.
- Константные объекты: Только константные методы могут вызываться на константных объектах.
Пример:
cpp
Неконстантный метод не имеет ключевого слова const после списка параметров.
Особенности неконстантных методов:
- Доступ к членам данных: Могут читать и изменять нестатические члены данных класса.
- Вызов других методов: Могут вызывать как константные, так и неконстантные методы того же объекта.
- Константные объекты: Не могут вызываться на константных объектах.
Использование const в методах повышает безопасность кода, позволяет компилятору выполнять дополнительные проверки и дает пользователям класса гарантию, что вызовы определенных методов не изменят состояние объекта. Это особенно важно при работе с константными ссылками или указателями на объекты.