Wyliczenie w C ++

W tym artykule nauczysz się pracować z wyliczaniem (wyliczaniem). Dowiesz się również, gdzie wyliczenia są powszechnie używane w programowaniu w języku C ++.

Wyliczenie to typ danych zdefiniowany przez użytkownika, który składa się ze stałych całkowitych. Aby zdefiniować wyliczenie, używane jest słowo kluczowe enum .

 sezon enum (wiosna, lato, jesień, zima);

Tutaj nazwa wyliczenia to pora roku.

A wiosna, lato i zima to walory sezonu.

Domyślnie wiosna to 0, lato to 1 i tak dalej. Możesz zmienić wartość domyślną elementu wyliczenia podczas deklaracji (jeśli to konieczne).

 sezon enum (wiosna = 0, lato = 4, jesień = 8, zima = 12);

Deklaracja typu wyliczonego

Podczas tworzenia typu wyliczeniowego tworzony jest tylko plan zmiennej. Oto, jak możesz tworzyć zmienne typu wyliczeniowego.

enum boolean (false, true); // wewnątrz funkcji enum boolean check;

Tutaj enum booleantworzona jest zmienna kontrola typu .

Oto inny sposób zadeklarowania tej samej zmiennej kontrolnej przy użyciu innej składni.

 enum boolean (false, true) check; 

Przykład 1: Typ wyliczenia

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

Wynik

 Dzień 4

Przykład 2: Zmiana domyślnej wartości wyliczeń

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

Wynik

 Lato = 4

Dlaczego wyliczenia są używane w programowaniu w języku C ++?

Zmienna wyliczeniowa pobiera tylko jedną wartość z wielu możliwych wartości. Przykład, aby to zademonstrować,

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

Wynik

 Rozmiar zmiennej wyliczeniowej 4 bajty.

Dzieje się tak, ponieważ wielkość liczby całkowitej wynosi 4 bajty .;

To sprawia, że ​​enum jest dobrym wyborem do pracy z flagami.

Możesz wykonać to samo zadanie, używając struktur C ++. Jednak praca z wyliczeniami zapewnia wydajność i elastyczność.

Jak używać wyliczeń do flag?

Weźmy przykład,

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

Załóżmy, że projektujesz przycisk dla aplikacji Windows. Możesz ustawić flagi ITALICS, BOLD i UNDERLINE, aby pracować z tekstem.

Jest powód, dla którego wszystkie stałe całkowe mają potęgę 2 w powyższym pseudokodzie.

 // Binarnie ITALICS = 00000001 BOLD = 00000010 UNDERLINE = 00000100 

Ponieważ stałe całkowite mają potęgę 2, możesz połączyć dwie lub więcej flag jednocześnie bez nakładania się za pomocą bitowego OR | operator. Umożliwia to jednoczesne wybranie dwóch lub więcej flag. Na przykład,

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

Wynik

 5

Gdy wynik ma wartość 5, zawsze wiesz, że używane jest pogrubienie i podkreślenie.

Możesz także dodać flagę do swoich wymagań.

 if (myDesign & ITALICS) (// kod dla kursywy)

Tutaj dodaliśmy kursywę do naszego projektu. Uwaga, wewnątrz instrukcji if jest zapisywany tylko kod kursywy.

W programowaniu w C ++ można osiągnąć prawie wszystko bez wyliczeń. Jednak w niektórych sytuacjach mogą być bardzo przydatne. To właśnie odróżnia dobrych programistów od świetnych programistów.

Interesujące artykuły...