정수형을 순서대로 저장하거나 각각의 값을 매긴다
#include <iostream>
using namespace std;
enum Color {
Red, Green, Blue, SIZE // 자동적으로 0부터 숫자가 저장됨
};
enum struct TextAttribute {
Bold = 1,
Underline = 2,
Italic = 4,
Strikethrough = 8,
};
enum class text {
Bold = 3,
Underline = 6
};
// class or struct를 붙여 scope 형식으로 만들 수 있음
int main() {
int colors[SIZE] = { 255, 128, 64 };
Color color = (Color)1;
// 1이 저장됨
cout << "Red : " << colors[Red] << endl;
cout << "Green : " << colors[(Color)1] << endl;
cout << "Blue : " << colors[Blue] << endl;
cout << "SIZE : " << SIZE << endl;
cout << "Text Bold : " << (int)TextAttribute::Bold << endl;
cout << "text Bold : " << (int)text::Bold << endl;
// scope 형식이기에 같은 이름으로 선언이 가능하다.
// 사용할 때에는 항상 int형으로 형변환을 시켜줘야함.
return 0;
}
Red : 255
Green : 128
Blue : 64
SIZE : 3
Text Bold : 1
text Bold : 3