傳入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!";
}
}