Enum
enum Color {
RED, // 0
GREEN, // 1
BLUE // 2
};
Color myColor = GREEN;enum Color { RED = 5, GREEN = 10, BLUE = 15 };
Last updated
enum class Fruit : unsigned int {
APPLE,
BANANA,
ORANGE
};
Fruit myFruit = Fruit::BANANA;#include <iostream>
// Traditional enum
enum Color {
RED,
GREEN,
BLUE
};
// Enum class
enum class Direction : char {
NORTH = 'N',
EAST = 'E',
SOUTH = 'S',
WEST = 'W'
};
int main() {
// Using traditional enum
Color paint = GREEN;
int colorCode = paint; // Implicit conversion to int
std::cout << "Color code: " << colorCode << std::endl;
// Using enum class
Direction way = Direction::EAST;
// std::cout << way; // This would not compile
std::cout << "Direction: " << static_cast<char>(way) << std::endl;
// Comparison
if (paint == GREEN) {
std::cout << "The paint is green." << std::endl;
}
if (way == Direction::EAST) {
std::cout << "We're heading east." << std::endl;
}
return 0;
}