Desde enumeraciones normalmente se tratan como algunos tamaño de int en el compilador, todo lo que tiene que hacer es tarde hacen
enum PizzaDressing
{
Olives = 0,
Cheese = 1,
Pepperoni = 2
};
o se puede permitir que cuente
enum PizzaDressing
{
Olives = 0,
Cheese = 1,
Pepperoni
};
se podría, si ninguno de ellos es aceptable por alguna razón, utiliza matemáticas (Cheese + 1
). Puede jugar con la enumeración casi de cualquier manera con un valor numérico.
Tenga en cuenta que el enumerador que utiliza normalmente está incluido en el código por el compilador, no aparece como su nombre, simplemente valor. Por lo tanto, modificar (extender) el enumerador más tarde no afectará el código que se ha creado.
Creo que es una sintaxis legal usar una enumeración en otro enumerador, con moldes, pero nunca lo he intentado. Esto puede funcionar, pero es un poco feo:
enum PizzaDressing
{
Olives = 0,
Cheese = 1
};
enum OtherPizzaDressings
{
Start = (OtherPizzaDressings)PizzaDressing::Cheese;
Pepperoni
};
posible duplicado de [clase de enumeración de base herencia] (http://stackoverflow.com/questions/644629/base-enum-class-inheritance) – DuckMaestro