传入switch的参数可以有两种类型:int和name
case1:switch传入参数为int类型
notice:就不用定义name类型的变量了
void test1()
{
//传入switch的参数可以有两种类型:int和enum name
//case1:switch传入参数为int类型
//notice:就不用定义enum name类型的变量了
enum name{ ZhangSan, LiSi, WangWu };
int ival;
cin >> ival;
switch (ival){
case ZhangSan:
cout << "ZhangSan";
break;
case LiSi:
cout << "LiSi";
break;
case WangWu:
cout << "WangWu";
break;
default:
cout << "error!";
}
}
case2:switch传入参数为enum name类型
notice1:enum name类型变量定义并初始化方式
1.1:直接定义并初始化 name person = ZhangSan;
1.2:利用cin,读入类型是int,需要用(name)强转
notice2:定义name类型有两种方式
void test2()
{
//传入switch的参数可以有两种类型:int和name
//case2:switch传入参数为enum name类型
//notice1:name类型变量定义并初始化方式
// 1.1:直接定义并初始化 name person = ZhangSan;
// 1.2:利用cin,读入类型是int,需要用(name)强转
//notice2:定义name类型有两种方式
enum name{ ZhangSan, LiSi, WangWu };
name person = ZhangSan;//定义并赋初始值
/****或者这样定义****/
/*
enum name{ ZhangSan, LiSi, WangWu } person;//但没有赋初值
person =ZhangSan;//赋初始值
*/
int ival;
cin >> ival;
person = (name)ival;//将int强转为name
//error
//person = ival;
switch (person){
case ZhangSan:
cout << "ZhangSan";
break;
case LiSi:
cout << "LiSi";
break;
case WangWu:
cout << "WangWu";
break;
default:
cout << "error!";
}
}