Enumeração C ++

Neste artigo, você aprenderá a trabalhar com enumeração (enum). Além disso, você aprenderá onde os enums são comumente usados ​​na programação C ++.

Uma enumeração é um tipo de dados definido pelo usuário que consiste em constantes integrais. Para definir uma enumeração, a palavra-chave enum é usada.

 estação enum (primavera, verão, outono, inverno);

Aqui, o nome da enumeração é temporada.

E, primavera, verão e inverno são valores do tipo estação.

Por padrão, a primavera é 0, o verão é 1 e assim por diante. Você pode alterar o valor padrão de um elemento enum durante a declaração (se necessário).

 estação enum (primavera = 0, verão = 4, outono = 8, inverno = 12);

Declaração de tipo enumerado

Quando você cria um tipo enumerado, apenas o blueprint para a variável é criado. Veja como você pode criar variáveis ​​do tipo enum.

enum boolean (falso, verdadeiro); // dentro da função enum boolean check;

Aqui, uma verificação de variável do tipo enum booleané criada.

Aqui está outra maneira de declarar a mesma variável de verificação usando uma sintaxe diferente.

 verificação enum boolean (falso, verdadeiro); 

Exemplo 1: tipo de enumeração

 #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; ) 

Resultado

 Dia 4

Exemplo 2: Alteração do valor padrão de Enums

 #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; )

Resultado

 Verão = 4

Por que enums são usados ​​na programação C ++?

Uma variável enum leva apenas um valor de muitos valores possíveis. Exemplo para demonstrar isso,

 #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; ) 

Resultado

 Tamanho da variável enum 4 bytes.

É porque o tamanho de um inteiro é 4 bytes .;

Isso torna enum uma boa escolha para trabalhar com sinalizadores.

Você pode realizar a mesma tarefa usando estruturas C ++. No entanto, trabalhar com enums oferece eficiência e flexibilidade.

Como usar enums para sinalizadores?

Vamos dar um exemplo,

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

Suponha que você esteja criando um botão para um aplicativo do Windows. Você pode definir sinalizadores ITALICS, BOLD e UNDERLINE para trabalhar com texto.

Há uma razão pela qual todas as constantes integrais são potências de 2 no pseudocódigo acima.

 // Em binário ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Como as constantes integrais são potências de 2, você pode combinar dois ou mais sinalizadores de uma vez sem sobrepor usando OR | operador. Isso permite que você escolha duas ou mais bandeiras de uma vez. Por exemplo,

 #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; ) 

Resultado

 5

Quando a saída é 5, você sempre sabe que negrito e sublinhado são usados.

Além disso, você pode adicionar um sinalizador aos seus requisitos.

 if (myDesign & ITALICS) (// codificar para itálico)

Aqui, adicionamos itálico ao nosso design. Observe, apenas o código para itálico é escrito dentro da instrução if.

Você pode realizar quase qualquer coisa na programação C ++ sem usar enumerações. No entanto, eles podem ser muito úteis em certas situações. Isso é o que diferencia bons programadores de grandes programadores.

Artigos interessantes...