Język C++
enum
[słowo kluczowe] Typ wyliczeniowy.Składnia
enum[ nazwa_typu ]
{
[ lista_wartosci ]
}[ deklarator ];
Opis szczegółowy
Typ wyliczeniowy to typ zdefiniowany przez użytkownika składający się z nazwanych stałych.
Domyślnie pierwsza stała ma wartość 0, a każda kolejna jest o 1 większa niż poprzednia, chyba że zostanie podana inna wartość dla konkretnej stałej. Wartości stałych mogą się powtarzać. Nazwa stałej nie może już istnieć w zakresie, w którym definiowany jest typ wyliczeniowy.
Typ wyliczeniowy może być niejawnie przekonwertowany do typu całkowitego, jednakże konwersja w drugą stronę wymaga rzutowania. Wynik tego rzutowania jest niezdefiniowany, jeśli wartość całkowita nie jest jedną ze stałych typu wyliczeniowego.
Przykład
#include <cstdlib>
#include <ctime>
#include <cstdio>
using namespace std;
enum Direction
{
DIRECTION_UP ,
DIRECTION_DOWN ,
DIRECTION_LEFT = 5,
DIRECTION_RIGHT
};
void printDirection( Direction dir )
{
switch( dir )
{
case DIRECTION_UP:
puts( "góra" );
break;
case DIRECTION_DOWN:
puts( "dół" );
break;
case DIRECTION_LEFT:
puts( "lewo" );
break;
case DIRECTION_RIGHT:
puts( "prawo" );
break;
}
}
int main()
{
srand( time( 0 ) );
unsigned dirAsInt = static_cast < unsigned >( rand() ) % 4;
if( dirAsInt >= 2 )
{
dirAsInt += 3;
}
Direction dir = static_cast < Direction >( dirAsInt );
printDirection( dir );
return 0;
}
Linki zewnętrzne
Wszystkie teksty są chronione prawami autorskimi. Kopiowanie lub rozpowszechnianie treści poza niniejszym serwisem
jest zabronione.
Powyższe ograniczenie nie dotyczy autora opracowania, któremu przysługuje prawo do rozpowszechniania własnego tekstu wedle własnego uznania.