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 boolean
tworzona 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.