O que são aulas de enum em C ++

O que são aulas de enum em C ++

O Classe Enum é um recurso do C ++ que simplifica para os usuários definir novos tipos de dados. Classe Enum, ou enumeração, é um tipo de dados definido pelo usuário que consiste em um conjunto de valores nomeados. Esses valores são constantes e geralmente representam um grupo de entidades ou resultados relacionados.

Um Classe Enum em C ++ é uma enumeração baseada em escopo usada para especificar o conjunto de valores potenciais que uma variável pode conter. Conjuntos simples de valores associados que são frequentemente usados ​​como constantes podem ser definidos dessa maneira segura. O “Classe Enum” A palavra -chave é usada para declarar. O Classe Enum e enum diferem entre si, pois eles são seguros de tipo. O Classe Enum não compara enumeradores de várias enumerações e não fornece conversão implícita para int.

Sintaxe da classe Enum

// Declaração
classe enum enumname value1, value2,… valuen;
// Inicialização
Enumname objectName = enumname :: value;


Qualquer tipo integral, incluindo int, curto, char, longo, não assinado, etc., pode ser usado para os valores.

Exemplo de aula de enum

Aqui está um exemplo de um Classe Enum em c++.

#incluir
classe enum cor violeta, amarela, preta;
int main ()
Cor c = cor :: preto;
Switch (c)
Caso da cor :: preto:
std :: cout << "The color is black\n";
quebrar;
Caso da cor :: Violet:
std :: cout << "The color is violet\n";
quebrar;
Caso da cor :: amarelo:
std :: cout << "The color is yellow\n";
quebrar;

retornar 0;


No exemplo acima, o Classe de enum “cor” foi definido. Pode levar um dos três valores potenciais: violeta, amarelo e preto. Esta é uma enumeração escopo, conforme indicado pelo “Classe Enum” palavra -chave, o que significa que os valores estão disponíveis apenas dentro do "Cor" espaço para nome.

Declaramos uma variável de tipo "C" da cor "Cor" e inicialize para "Cor preta" na função principal. Então, com base no valor de "C", Imprimos uma mensagem usando um trocar declaração. Devemos usar o "Cor::" prefixo para acessar os valores de "Cor", que é uma enumeração escopo.

Saída



O Classe Enum tem os seguintes benefícios na linguagem C ++.

1: Poluição de namespace global

Classe Enum restringe o escopo dos valores enumerados. Por outro lado, regular enums poluir o espaço para nome global, dificultando a diferenciação entre dois tipos diferentes de enumeração em diferentes escopos.

2: Tipo de segurança

O Classe Enum é mais seguro do que regular enums, o que pode levar a bugs sutis. Um valor enumerado em um Classe Enum não é implicitamente convertido em um número inteiro. Ele permanece conforme definido e usando um valor diferente que não está dentro do intervalo atualmente definido resultará em um erro de tempo de compilação.

3: legibilidade

Um Classe Enum fornece uma sintaxe mais legível, pois exige que valores constantes sejam qualificados com o tipo de enumeração. É mais fácil ler e entender qual enumeração está sendo usada no código. É mais simples de preenchimento automático e impedir erros de ortografia ao usar um IDE que possa identificar o conjunto de enumeradores declarados em um Classe Enum. Em comparação com a utilização de constantes convencionais, a sintaxe para acessar um enumerador específico também é mais direto e explícito.

4: Digitado fortemente

O Classe Enum garante que os valores que possuem são do mesmo tipo. Impede a comparação ou atribuição de valores de diferentes tipos de enumeração por engano.

5: Defina o tipo subjacente

Você pode definir o tipo subjacente da enumeração enquanto definiu um Classe Enum. Quando você deseja salvar a coleção de enumeradores como um determinado tipo de dados, isso é útil. Por exemplo, você pode escolher "int" como o tipo subjacente da enumeração, se desejar salvar a coleção de enumeradores como um número inteiro. No entanto, como oferece segurança do tipo superior e evita qualquer comportamento inesperado, é aconselhável usar um número inteiro não assinado como o tipo subjacente.

6: encapsulamento

A capacidade de encapsular melhor os dados é um dos Classe Enum caracteristicas principais. Isso resulta em um código mais estruturado e compreensível, pois os valores enumerados estão disponíveis apenas na classe declarada. Além disso, melhora a segurança do tipo e elimina mal -entendidos entre vários enumeradores.

Conclusão

O Classe Enum no C ++ é um recurso essencial que fornece maior controle e clareza na definição de novos tipos de dados. Com sua sintaxe simples e natureza segura de tipo, é uma prática recomendada usar Aulas de enum em C ++ sempre que você precisar definir um conjunto de constantes relacionadas. Isso não apenas torna seu código mais organizado e legível, mas também melhora o desempenho e a segurança do seu programa.