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 boolean
se 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.