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 = 0WTOREK = 1SRODA = 2CZWARTEK = 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 = 1WTOREK = 2SRODA = 3CZWARTEK = 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.