Методы, объявленные с декларацией const, - это особые методы, которые не могут модифицировать данные-члены (т. е. свойства) своего класса. То есть, это такие методы, которые не могут изменить состояние объекта.
Пример использования декларации const в описании метода:
class value
{
public:
void value();
void set(int x);
void print( stream ) const;
private:
int a=0;
}
Кроме того, с помощью модификатора const можно объявлять объект. Такой объект сможет вызвать только методы своего класса, объявленные с декларацией const. Если const-объект вызывает метод, объявленный без декларации const, компилятор сигнализирует об ошибке.
const value value1;
value value2;
Здесь для объекта value1 невозможно вызвать не константный метод set(). Поэтому для value1 невозможно задать значение. Объект value2 может вызывать любой метод.
Примечание:
У const-объектов можно вызвать конструктор и декструктор, которые не объявлены как const.
Методы, объявленные как const, можно перегружать.