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.