Aunque algo sí contesta a la pregunta, no se refirió a la forma en que siempre he utilizado enumeraciones. Aunque solo son más o menos nombres para números, siempre los he usado para definir tipos que solo pueden tener ciertos valores.
Si la enumeración es parte de la clase, a continuación, que ayuda a los consumidores a identificar claramente una referencia enumeración:
class Apple {
enum Variety {
Gala,
GoldenDelicious,
GrannySmith,
Fuji
}
...
};
A continuación, los consumidores serían los casos de declarar capaces de la enumeración, pasan como parámetros, y los califica al hacer referencia a uno de los tipos.
unsigned int GetCountOfApples(Apple::Variety appleVariety);
...
fujiCnt = GetCountOfApples(Apple::Fuji);
A veces quieren una enumeración fuera de una clase o dos enumeraciones de la misma clase, y se puede hacer algo parecido a lo que tenía Poy. Sin embargo, no podrás hacer referencia al tipo de enumeración, así que solo tienes que nombrarlo.
namespace Color {
enum ColorEnum {
Blue,
Red,
Black
};
Ahora, utilizando la enumeración y los valores funcionaría como:
Color::ColorEnum firstColor = Color::Blue;
Color::ColorEnum secondColor = Color::Red;
if(firstColor == secondColor)
....
Ahora bien, si sucede que hay diferentes enumeraciones con el mismo nombre en ellos, siempre van a ser calificados con qué tipo son. Entonces podrías manejar lo que el jugador pregunta.
BananaColorEnum banCol = BananaColor::Yellow;
TomatoColorEnum tomCol = TomatoColor::Yellow;
que tienen experiencia en Java supongo;) :) Sí – hhafez
. Java y C#. De hecho, esta es la única característica que me pareció feo en C++ en comparación con estos dos. –
Si desea ese tipo de sintaxis, puede hacer el espacio de nombres sample {enum {BLAH0, BLAH1}} y luego simplemente hacer referencia a él como muestra :: BLAH0 – BigSandwich