Wyliczenia, podobnie jak const, służą do definiowania w przyjazny sposób stałych. Enum budową przypomina strukturę. Definiujemy najpierw konstrukcję wyliczenia enum (podobnie jak definiujemy elementy struktury), złożoną z listy nazw stałych. W ten sposób stworzyliśmy nowy typ stałej złożonej z wielu elementów. Różnica między stałą const jest taka, że możesz zdefiniować wiele stałych jednocześnie.
enum nazwa{
element_1 = wartość_1,
element_2 = wartość_2,
...
element_n = wartość_n
};
np.:
enum dzien{
poniedzialek = 1,
wtorek =2,
sroda = 3,
czwartek = 4,
piatek = 5,
sobota = 6,
niedziela = 7
};
Możesz stworzyć wyliczenie na podstawie typu "dzien" lub bezpośrednio odwoływać się do nazw stałych zdefiniowanych w enum.
#include <iostream>
using namespace std;
//definicja wyliczenia
enum dzien{
poniedzialek = 1,
wtorek =2,
sroda = 3,
czwartek = 4,
piatek = 5,
sobota = 6,
niedziela = 7,
brak = -1
};
int main()
{
//tworzymy wyliczenie (podobnie jak const tydzien)
dzien tydzien;
tydzien = poniedzialek;
cout<<tydzien<<endl; //1
cout<<wtorek<<endl; //2
int wt = wtorek;
cout<<wt<<endl; //2
return 0;
}
Jeśli nie zostaną podane wartości kolejnych elementów enum, to automatycznie przypisane zostaną kolejne wartości począwszy od 0.
enum dzien{
poniedzialek,
wtorek,
sroda,
czwartek,
piatek,
sobota,
niedziela
};
W powyższym przykładzie poniedzialek ma wartość 0, wtorek 1 itd.