Especificadores de acceso de clase

Todos los miembros de una clase son privados por defecto. Para poder acceder a miembros de una clase desde otra clase o desde cualquier otra parte del programa necesitamos que algunos de los miembros de clase sean públicos, para ello se antecede la etiqueta public a los miembros públicos. La etiqueta private no es obligatoria ya que, como hemos dicho todos los miembros de una clase son privados, pero se suele poner para facilitar la lectura de los códigos.

Especificadores de acceso de clase
Etiqueta Descripcion
private: Declara privados los miembros que se declaren a partir de la etiqueta, solo accesibles por otros miembros de clase. 
public: Declara publicos los miembros que se declaran a partir de la etiqueta, accesibles desde fuera de la clase
protected: Los miembros declarados bajo esta etiqueta, sólo pueden ser accesibles por otros miembros de la propia clase

El ámbito de una etiqueta termina al comienzo de otra o al final del bloque de la clase ( la llave de cierre } )

Supongamos que necesitamos una clase para almacenar un punto.
Normalmente cuando se diseña una clase en papel se simboliza dentro de un rectángulo con, al menos tres apartados.


  • Nombre de la clase
  • Miembros privados
  • Miembros públicos
Nombre de la clase
Punto
Miembros privados int _x
int _y
Miembros públicos o
interfaz de la clase
SetX()
SetY()
GetX()
GetY()

Por convención las funciones miembro que establecen un valor a las variables miembro, comienzan su nombre con Set, y las funciones miembro que devuelven el valor de una variable, comienzan su nombre con Get.
También por convención, los nombres de las clases comienzan con una mayúscula.

//Definición de la clase Punto

class Punto
{
private:        //Miembros privados de la clase
      int _x;
      int _y;

public:         //Miembros públicos de la clase
      void SetX(const int valor);
      void SetY(const int valor);
      int GetX(void);
      int GetY(void);
};

Las variables miembro de la clase Punto, _x e _y, no son accesibles desde fuera de la clase. Para establecer un valor en ellas se tiene que llamar a la función miembro adecuada (SetX() o  SetY())
y para recuperar sus valores, el usuario de la clase tendrá que echar mano de las funciones miembro (GetX() o GetY()).
La parte pública de una clase se le llama interfaz de la clase.