member functions differ only in their constness can be overloaded

as this example:

first [] operator is not const member function
second [] is a const member function

the function body is the same, but the ctb calls the const member
function