1 // 15-枚举类型.cpp: 定义控制台应用程序的入口点。
2 //
3
4 #include "stdafx.h"
5 #include <iostream>
6 #include <climits>
7 using namespace std;
8
9 enum HeroType // 枚举类型是整型。适合用作标签Tag。
10 {
11 Tank, //0
12 Magic, //1
13 ADC, //2
14 Assist //3
15 };
16
17 enum HumanType
18 {
19 Teacher = 1, //可以修改其中的值
20 Student = 4,
21 Engineer = 5,
22 Famer = 7
23 };
24 int main()
25 {
26 HeroType heroType = Magic; //定义一个枚举。
27 heroType = ADC; //修改枚举的值。
28 cout << heroType << endl;
29
30 HumanType humanType = Famer;
31 //试试两个枚举能不能一起进行运算(〃'▽'〃)
32 auto myType = humanType + heroType;
33 cout << myType << endl;//是可以的
34
35 int i = Engineer + 3;
36 cout << i<< endl;
37
38 heroType = HeroType(2); //将2强制转换成自定的枚举类型后,可以赋值给新定义的heroType。
39 cout << heroType << endl;
40 //HeroType(2)等于ADC?
41 cout <<"HeroType:"<< heroType<<endl<<"ADC:"<< ADC << endl; //是相等的!
42
43 //如果是10呢?能不能赋值给heroType?
44 heroType = HeroType(10);
45 cout << heroType << endl;//是可以的。但是最好不要这么写,赋值的数字应该有对应的枚举类型。
46
47 //Teacher = HumanType(4);//这样错误的,要想赋值就先得初始化。
48
49 int t;
50 cin >> t;
51 return 0;
52 }