por partes:
Código C++:
Ver originalenum Mascara
{
Campo1,
Campo2,
Campo3
};
Esto se entiende, no? Un enumerado con varios elementos.
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 originalenum class Mascara
{
Campo1
};
foo( Mascara::Campo1 );
Código con un enum típico
Código C++:
Ver originalenum Mascara
{
Campo1
};
foo( Campo1 );
Dicho con código, el efecto de "class" sería una estructura como la siguiente:
Código C++:
Ver originalclass Mascara
{
public:
enum Mascara
{
Campo1,
Campo2,
Campo3
};
}