¿Cuáles son las clases de enum en c ++?

¿Cuáles son las clases de enum en c ++?

El clase de enum es una característica de C ++ que simplifica para los usuarios definir nuevos tipos de datos. Clase de enum, o enumeración, es un tipo de datos definido por el usuario que consiste en un conjunto de valores nombrados. Estos valores son constantes y generalmente representan un grupo de entidades o resultados relacionados.

Un clase de enum en C ++ es una enumeración basada en el alcance que se utiliza para especificar el conjunto de valores potenciales que una variable puede contener. Los conjuntos simples de valores asociados que a menudo se usan como constantes se pueden definir de esta manera segura. El "Class de enumación" La palabra clave se usa para declararla. El clase de enum y enum se diferencian entre sí en que son de tipo seguro. El clase de enum no compara enumeradores de varias enumeraciones y no proporciona una conversión implícita a int.

Sintaxis de la clase enum

// Declaración
enum class enumname value1, value2, ... valuen;
// Inicialización
Enumname objectName = enumname :: valor;


Cualquier tipo integral, incluidos int, Short, Char, Long, Unsigned, etc., puede usarse para los valores.

Ejemplo de clase enum

Aquí hay un ejemplo de un clase de enum Cª++.

#incluir
Color de clase enum violeta, amarillo, negro;
int main ()
Color c = color :: negro;
Switch (c)
Color de caso :: Negro:
std :: cout << "The color is black\n";
romper;
Color de caso :: Violeta:
std :: cout << "The color is violet\n";
romper;
Color del caso :: Amarillo:
std :: cout << "The color is yellow\n";
romper;

regresar 0;


En el ejemplo anterior, el clase de enum "color" ha sido definido. Puede tomar uno de los tres valores potenciales: violeta, amarillo y negro. Esta es una enumeración de alcance, como lo indica el "Class de enumación" palabra clave, lo que significa que los valores solo están disponibles dentro del "Color" espacio de nombres.

Declaramos una variable de tipo "C" del color "Color" y inicializarlo a "De color negro" en la función principal. Entonces, según el valor de "C", Imprimimos un mensaje usando un cambiar declaración. Debemos usar el "Color::" prefijo para acceder a los valores de "Color", que es una enumeración alcanzada.

Producción



El clase de enum tiene los siguientes beneficios en el lenguaje C ++.

1: Contaminación global del espacio de nombres

Clase de enum restringe el alcance de los valores enumerados. En contraste, regular enumeros contamina el espacio de nombres global, lo que dificulta la diferenciación entre dos tipos diferentes de enumeración en diferentes ámbitos.

2: Tipo de seguridad

El clase de enum es más seguro de tipo que regular enumeros, que puede conducir a errores sutiles. Un valor enumerado en un clase de enum no se convierte implícitamente en un entero. Permanece como se define, y usar un valor diferente que no está dentro del rango definido actualmente dará como resultado un error de tiempo de compilación.

3: Leyabilidad

Un clase de enum proporciona una sintaxis más legible, ya que requiere valores constantes para ser calificados con el tipo de enumeración. Es más fácil leer y comprender qué enumeración se está utilizando en el código. Es más simple de autocompletar y evitar errores de ortografía cuando se usa un IDE que puede identificar el conjunto de enumeradores declarados en un clase de enum. En comparación con la utilización de constantes convencionales, la sintaxis para acceder a un enumerador específico también es más sencillo y explícito.

4: fuertemente escrito

El clase de enum garantiza que los valores que posee son del mismo tipo. Evita comparar o asignar valores de diferentes tipos de Enum por error.

5: Defina el tipo subyacente

Puede definir el tipo subyacente del enum clase de enum. Cuando desea guardar la recopilación de enumeradores como un determinado tipo de datos, esto es útil. Por ejemplo, puede elegir "INT" como el tipo subyacente del enumio si desea guardar la colección de enumeradores como entero. Sin embargo, como ofrece una seguridad de tipo superior y evita cualquier comportamiento inesperado, se recomienda utilizar un entero sin firmar como tipo subyacente.

6: Encapsulación

La capacidad de encapsular mejor los datos es uno de los clase de enum Caracteristicas claves. Esto da como resultado un código más estructurado y comprensible ya que los valores enumerados solo están disponibles dentro de la clase declarada. Además, mejora la seguridad del tipo y elimina los malentendidos entre varios enumeradores.

Conclusión

El clase de enum En C ++ es una característica esencial que proporciona un mayor control y claridad para definir nuevos tipos de datos. Con su sintaxis simple y su naturaleza segura, es una práctica recomendada para usar clases de enum en C ++ siempre que necesite definir un conjunto de constantes relacionadas. No solo hace que su código sea más organizado y legible, sino que también mejora el rendimiento y la seguridad de su programa.