const
data members, a class can also contain
const
functions/methods. A function that is declared const
means that it does not alter the object that provides the context of
its execution. Let us observe the following code:
class X { int i; public: void set(int i); int get(void) const; }; void X::set(int i) { this->i = i; } int X::get(void) const { return i; }
In this example, set
cannot be a const
method because it
alters a data member of the object that provides the context of its
execution. However, get
is a const
method because it only
read a data member of the object that provides the context.