English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Enumerativo (enum)

Neste artigo, você aprenderá a usar o enumerativo (enum). Além disso, você também aprenderá C ++Onde o enumerativo é usado geralmente na programação.

Os enumerativos são tipos de dados definidos pelo usuário, compostos por constantes inteiros. Você pode usar a palavra-chaveenumDefinir o enumerativo.

enum season { spring, verão, outono, inverno };

Aqui, o nome do enumerativo é season.

E, spring, verão e inverno são valores do tipo season.

Padrão, spring é 0, verão é1E assim por diante. Você pode alterar o valor padrão do elemento do enumerativo durante a declaração (se necessário).

enum season 
{ 
    verão = 4, 
    outono = 8,
    inverno = 12
};

Declaração do tipo enumerativo

Quando se cria um tipo enumerativo, apenas o esboço da variável é criado. Este é o método para criar variáveis do tipo enumerativo.

enum boolean { falso, verdadeiro };
// Função interna
enum boolean check;

Aqui, foi criadoenum booleanVariável do tipo.

Esta é outra maneira de declarar a mesma variável check usando uma sintaxe diferente.

enum boolean 
{ 
   falso, verdadeiro
}

示例1Tipo enumerativo

#include <iostream>
using namespace std;
enum week { 星期日,星期一,星期二,星期三,星期四,星期五,星期六 };
int main()
{
    week today;
    today = 周二;
    cout << "星期几?" << today+1;
    return 0;
}

saída resultante

星期几?3

示例2:更改枚举的默认值

#include <iostream>
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;
}

saída resultante

Summer = 4

为什么在C ++编程中使用枚举?

枚举变量仅取许多可能值中的一个值。如下示例来演示它:

#include <iostream>
using namespace std;
enum suit {
    club = 0,
    diamonds = 10,
    hearts = 20,
    spades = 3
} card;
int main() 
{
    card = club;
    cout << "enum变量的大小 " << sizeof(card) << " bytes.";   
    return 0;
}

saída resultante

enum变量的大小 4 bytes.

这是因为整数的大小为4个字节。

这使得enum成为使用幡的一个很好的选择。

您可以使用C ++结构完成相同的任务。但是,使用枚举可以提高效率和灵活性。

如何将枚举用于幡?

让我们举一个例子,

enum designFlags {
	ITALICS = 1,
	BOLD = 2,
	UNDERLINE = 4
} button;

假设您正在为Windows应用程序设计一个按钮。可以设置标志 ITALICS,BOLD和UNDERLINE来处理文本。

在上面的伪代码中,所有的积分常数都是2的幡是有原因的。

// In binary
ITALICS = 00000001
BOLD = 00000010
UNDERLINE = 00000100

由于积分常数是2的幡,所以可以同时组合两个或多个幡,而不用使用按位或|操作符进行重叠。这允许您同时选择两个或多个幡。例如,

#include <iostream>
using namespace std;
enum designFlags {
    BOLD = 1,
    ITALICS = 2,
    UNDERLINE = 4
};
int main() 
{
    int myDesign = BOLD | UNDERLINE; 
        //    00000001
        //  | 00000100
        //  ___________
        //    00000101
    cout << myDesign;
    return 0;
}

saída resultante

5

quando a saída for5ao mesmo tempo, você sempre saberá que será usado negrito (bold) e

Além disso, você pode adicionar sinalizadores no requisito.

if (myDesign & ITALICS) {
    // código itálico
}

Aqui, adicionamos itálico no design. Observe que apenas o código itálico escritoif.

Você não precisa usar enumerações para usar em C ++Concluímos quase todas as tarefas na programação. No entanto, elas podem ser muito convenientes em certas situações. Isso pode ser a diferença entre um bom programador e um programador ainda melhor.