반응형
C++의 enumeration에는 크게 enum clas
s와 enum
이 있다. enum class
는 scoped enum이라 하며, C와의 호환을 위해 unscoped enum인 enum
이 있다. user-defined type이다.
enum class
는 ::
을 이용해 값을 가져온다. enum class
가 더 안전하다.
enum class Vehicle {
Car,
Bike,
Truck
};
Fruit suv_vehicle = Vehicle::Car;
#include <cstdio>
enum class Race {
Dinan,
Teklan,
Ivyn,
Moiran,
Camite,
Julian,
Aidan
};
int main() {
Race race = Race::Teklan;
switch (race) {
case Race::Dinan: { // without parenthesis, correct
printf("You work hard.");
} break; // outside case block, correct
case (Race::Teklan): { // with parenthesis, correct
printf("You are very strong.");
}
case (Race::Ivyn): {
printf("You are a great leader.");
break; // inside case block, correct
}
default: {
printf("Error: unknow race!");
}
}
return 0;
}
반응형
댓글