Funciones miembro constantes

Declarar una función miembro con la palabra clave const especifica que la función es una función de “solo lectura” que no modifica el objeto para el que se llama. Una función miembro constante no puede modificar los miembros de datos no estáticos ni llamar a funciones miembro que no sean constantes.

Para declarar una función miembro constante, coloque la palabra clave const después del paréntesis de cierre de la lista de argumentos. La palabra clave const se requiere tanto en la declaración como en la definición.

Ejemplo

// constant_member_function.cpp
class Date
{
public:
   Date( int mn, int dy, int yr );
   int getMonth() const;     // A read-only function
   void setMonth( int mn );   // A write function; can't be const
private:
   int month;
};

int Date::getMonth() const
{
   return month;        // Doesn't modify anything
}
void Date::setMonth( int mn )
{
   month = mn;          // Modifies data member
}
int main()
{
   Date MyDate( 7, 4, 1998 );
   const Date BirthDate( 1, 18, 1953 );
   MyDate.setMonth( 4 );    // Okay
   BirthDate.getMonth();    // Okay
   BirthDate.setMonth( 4 ); // C2662 Error
}

Vea también

Referencia

const (C++)

Valores constantes