Typ wyliczeniowy enum w C++

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Typ wyliczeniowy enum w C++

enum to typ wyliczeniowy, który pozwala zdefiniować zestaw nazwanych stałych całkowitych. Używa się go wtedy, gdy zmienna może przyjmować jedną z kilku logicznie powiązanych wartości, np. dni tygodnia, statusy zamówienia albo poziomy dostępu.

Składnia

enum dni { PONIEDZIALEK, WTOREK, SRODA, CZWARTEK };

Każdy element wewnątrz enum nazywa się enumeratorem. W klasycznym enum w C++ enumeratory mają wartości liczbowe typu całkowitego.

Domyślne wartości enumeratorów

Jeśli nie podano wartości początkowej, pierwszy enumerator otrzymuje wartość 0, a kolejne są zwiększane o 1:

enum dni { PONIEDZIALEK, WTOREK, SRODA, CZWARTEK };

Wartości będą następujące:

  • PONIEDZIALEK = 0
  • WTOREK = 1
  • SRODA = 2
  • CZWARTEK = 3

Nadanie wartości początkowej

Można jawnie przypisać wartość do wybranego enumeratora:

enum dni { PONIEDZIALEK = 1, WTOREK, SRODA, CZWARTEK };

Wtedy kolejne wartości są liczone od podanej liczby:

  • PONIEDZIALEK = 1
  • WTOREK = 2
  • SRODA = 3
  • CZWARTEK = 4

Dlatego w takim przykładzie enumerator CZWARTEK ma wartość 4.

Ważne na egzaminie

Nazwa enumeratora, np. CZWARTEK, nie jest napisem. Nie ma wartości "CZWARTEK" ani 'CZWARTEK'. Jest to nazwana stała liczbowa.