Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/11/2014, 13:12
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 9 años, 7 meses
Puntos: 204
Respuesta: Crear una máscara para ver determinados miembros de una estructura

por partes:

Código C++:
Ver original
  1. enum Mascara
  2. {
  3.   Campo1,
  4.   Campo2,
  5.   Campo3
  6. };

Esto se entiende, no? Un enumerado con varios elementos.

Código C++:
Ver original
  1. enum class Mascara;

Esta es una característica nueva de C++11. "class" hace que para acceder a los miembros del enumerado sea necesario indicar el nombre del enumerado:

Código con enum class
Código C++:
Ver original
  1. enum class Mascara
  2. {
  3.   Campo1
  4. };
  5.  
  6. foo( Mascara::Campo1 );

Código con un enum típico
Código C++:
Ver original
  1. enum Mascara
  2. {
  3.   Campo1
  4. };
  5.  
  6. foo( Campo1 );

Dicho con código, el efecto de "class" sería una estructura como la siguiente:

Código C++:
Ver original
  1. class Mascara
  2. {
  3.   public:
  4.     enum Mascara
  5.     {
  6.       Campo1,
  7.       Campo2,
  8.       Campo3
  9.     };
  10. }