Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/07/2009, 16:28
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 11 meses
Puntos: 61
Respuesta: duda sobre const en c++

Si una clase tiene varios miembros internos, es posible que algunos metodos los modifiquen, mientras que otros solo lean su contenido (y otros, ambos).

Aquellos metodos que son marcados como "const" se comprometen a no modificar los miembros de la clase. Aquellos no marcados con const tienen permiso para hacerlo.
Por ello, un metodo marcado como const no puede invocar otro metodo que no este marcado como const. Un metodo const solo puede llamar a metodos const.

El compilador chequeará esto, y reclamara cada vez que se use un metodo no-const al interior de un metodo const.

Usualmente el marcar un metodo como const deberia hacerse al diseñar la clase y no al terminar de implementarla, pues esto ultimo usualmente generara una "bola de nieve" de modificaciones de codigo, para liberarse de los errores de compilacion.