关于C++杖举的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/18 03:45:08
switch(m_nPosition){
case MANAGER:
cout<<"Position:"<<"MANAGER"<<endl;
break;
case ENGINEER:
cout<<"Position:"<<"ENGINEER"<<endl;
break;
case EMPLOYEE:
cout<<"Position:"<<"EMPLOYEE"<<endl;
break;
case WORKER:
cout<<"Position:"<<"WORKER"<<endl;
break;
}
为什么杖举变量要这么输出? 为什么不能直接输出??

因为枚举变量并不是一个字符串, 而是一个整型数
enum {Sun, Mon, Tue, Wed, Thu, Fri, Sat};

这个枚举中, 默认 Sun = 0, Mon = 1, ..., Sat = 6;

所以如果直接使用, 如
cout << Mon << endl;
在有些编译器中是不允许的,
有些编译器中就会输出 1

所以 cout << Mon; 不会在屏幕中输入 Mon 这个字符串,
因此, 必须得像你的程序中那样 cout << "Mon";