Enumeración C ++

En este artículo, aprenderá a trabajar con enumeración (enum). Además, aprenderá dónde se usan comúnmente las enumeraciones en la programación C ++.

Una enumeración es un tipo de datos definido por el usuario que consta de constantes integrales. Para definir una enumeración, se utiliza la palabra clave enum .

 temporada de enumeración (primavera, verano, otoño, invierno);

Aquí, el nombre de la enumeración es temporada.

Y, primavera, verano e invierno son valores de tipo temporada.

Por defecto, la primavera es 0, el verano es 1 y así sucesivamente. Puede cambiar el valor predeterminado de un elemento enum durante la declaración (si es necesario).

 temporada de enumeración (primavera = 0, verano = 4, otoño = 8, invierno = 12);

Declaración de tipo enumerada

Cuando crea un tipo enumerado, solo se crea un modelo para la variable. Así es como puede crear variables de tipo enumeración.

enum boolean (falso, verdadero); // dentro de la función enum boolean check;

Aquí, enum booleanse crea una verificación de tipo variable .

Aquí hay otra forma de declarar la misma variable de verificación utilizando una sintaxis diferente.

 enum verificación booleana (falsa, verdadera); 

Ejemplo 1: tipo de enumeración

 #include using namespace std; enum week ( Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday ); int main() ( week today; today = Wednesday; cout << "Day " << today+1; return 0; ) 

Salida

 Día 4

Example2: Cambiar el valor predeterminado de las enumeraciones

 #include using namespace std; enum seasons ( spring = 34, summer = 4, autumn = 9, winter = 32); int main() ( seasons s; s = summer; cout << "Summer = " << s << endl; return 0; )

Salida

 Verano = 4

¿Por qué se utilizan enumeraciones en la programación C ++?

Una variable de enumeración toma solo un valor de muchos valores posibles. Ejemplo para demostrarlo,

 #include using namespace std; enum suit ( club = 0, diamonds = 10, hearts = 20, spades = 3 ) card; int main() ( card = club; cout << "Size of enum variable " << sizeof(card) << " bytes."; return 0; ) 

Salida

 Tamaño de la variable de enumeración 4 bytes.

Es porque el tamaño de un número entero es de 4 bytes .;

Esto hace que enum sea una buena opción para trabajar con banderas.

Puede realizar la misma tarea utilizando estructuras C ++. Sin embargo, trabajar con enumeraciones le brinda eficiencia junto con flexibilidad.

¿Cómo usar enumeraciones para banderas?

Tomemos un ejemplo,

 enum designFlags ( ITALICS = 1, BOLD = 2, UNDERLINE = 4 ) button; 

Suponga que está diseñando un botón para una aplicación de Windows. Puede configurar las banderas ITALICS, BOLD y UNDERLINE para trabajar con texto.

Hay una razón por la cual todas las constantes integrales son potencias de 2 en el pseudocódigo anterior.

 // En binario ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Dado que las constantes integrales son potencias de 2, puede combinar dos o más indicadores a la vez sin superponerlos usando OR | operador. Esto le permite elegir dos o más banderas a la vez. Por ejemplo,

 #include using namespace std; enum designFlags ( BOLD = 1, ITALICS = 2, UNDERLINE = 4 ); int main() ( int myDesign = BOLD | UNDERLINE; // 00000001 // | 00000100 // ___________ // 00000101 cout << myDesign; return 0; ) 

Salida

 5

Cuando la salida es 5, siempre sabrá que se usa negrita y subrayado.

Además, puede agregar una bandera a sus requisitos.

 if (myDesign & ITALICS) (// código para cursiva)

Aquí, hemos agregado cursiva a nuestro diseño. Tenga en cuenta que dentro de la instrucción if solo se escribe el código para cursiva.

Puede lograr casi cualquier cosa en la programación C ++ sin usar enumeraciones. Sin embargo, pueden resultar muy útiles en determinadas situaciones. Eso es lo que diferencia a los buenos programadores de los grandes programadores.

Articulos interesantes...