enum Job {
Warrior = 1,
Mage = 2,
Rogue = 3
};
enum은 객관식과 비슷합니다.
위 코드처럼 Job을 enum으로 만들어두었을 때
Job job = Mage; //job을 선언
switch (job) {
case 1:
cout << "직업 : 전사" << endl; // 1
break;
case 2:
cout << "직업 : 마법사" << endl; // 2
break;
case 3:
cout << "직업 : 도적" << endl; // 3
break;
defalut:
break;
}
위 코드에서 job을 Mage라고 하면 2를 출력하게되어서
직업 : 마법사
를 출력하게 됩니다.
여기서 조심해야할 부분이 몇개 있는데
1. 처음 수가 지정되어있으면 자동으로 +1 시켜서 할당해준다.
2. 처음 수가 지정되어있지 않으면 0이다.
3. 지정된 수가 있으면 지정한 수에서 +1이다.
예를 들어보자면
enum Job {
Warrior = 1,
Mage,
Rogue
};
이렇게 될 경우 Mage는 2, Rogue는 3입니다.
enum Job {
Warrior,
Mage,
Rogue
};
이렇게 될경우 0, 1, 2 순서입니다.
enum Job {
Warrior = 2,
Mage,
Rogue
};
2, 3, 4입니다.
enum Job {
Warrior,
Mage = 2,
Rogue
};
0, 2, 3입니다.
enum을 아직 제대로 써본적은 없으나 사용한다면 나름 사용하기 편리할 것 같습니다.
전체 소스코드 입니다.
// int char float double string bool
// 커스텀 : struct
//
// 커스텀 : enum
//
// 객관식
// 1. ㅁㅁ 2.ㅁㅁ 3. ㅁㅁ
//
//
enum Job {
Warrior = 1,
Mage,
Rogue
};
//처음 수가 지정되어있으면 자동으로 +1 시켜서 할당해준다.
//처음 수가 지정되어있지 않으면 0
//지정한 수에서 +1
//
#include<iostream>
using namespace std;
int main() {
Job job = Mage;
switch (job) {
case 1:
cout << "직업 : 전사" << endl; // 1
break;
case 2:
cout << "직업 : 마법사" << endl; // 2
break;
case 3:
cout << "직업 : 도적" << endl; // 3
break;
defalut:
break;
}
}