enum Roster {Tom, Sharon, Bill, Teresa, John};
该语句将创建一个名为 Roster 的数据类型。因为单词 enum 是 C++ 关键字,所以它必须小写,值得注意的是,数据类型本身的名字是以大写字母开头的。虽然这并非必须,但是绝大多数程序员都会釆用首字母大写的形式。Roster student;
此语句的形式与其他任何变量定义一样,首先是数据类型名称,然后是变量名称。请注意,数据类型名称是 Roster,而不是 enum Roster。student = Sharon;
变量的值可以这样测试:if (student == Sharon)
请注意,在这两个例子中,Sharon 周围没有引号。因为它是一个命名常量,而不是字符串常数。student = 1; //错误
但是,可以使用整数值而不是符号名称来测试枚举变量。例如,以下两个 if 语句是等效的:
if (student == Bill)
if (student == 2)
if (student1 <student2)
如果 student1 等于 Bill,student2 等于 John,则该语句为 true。但是,如果 student1 等于 Bill,而 student2 等于 Sharon,则该语句将为 false。enum Department { factory = 1, sales = 2, warehouse = 4 };
请记住,如果为枚举符号赋值,则它们必须是整数。以下赋值语句将产生错误:enum Department { factory = 1.1, sales = 2.2, warehouse = 4,4 }; //错误
虽然没有要求按升序排列赋给的整数值,但一般默认是这样。enum Colors { red, orange, yellow = 9, green, blue };
在该示例中,命名常量 red 将被赋值为 0,orange 将为 1,yellow 将为 9,green 将为 10,blue 将为 11。enum Rooms { livingroom = 1, den, bedroom, kitchen };
在该示例中,livingroom 被赋值为 1,den 将为 2,bedroom 将为 3,kitchen 将为 4。
Roster student1 = Sharon;
cout << student1;
#include <iostream>
using namespace std;
// Declare the enumerated type
enum Roster { Tom = 1, Sharon, Bill, Teresa, John };
// Sharon - John will be assigned default values 2-5.
int main()
{
int who;
cin >> who;
switch (who)
{
case Tom :
cout << "Tom's birthday is January 3.\n";
break;
case Sharon :
cout << "Sharon's birthday is April 22.\n";
break;
case Bill :
cout << "Bill's birthday is December 19.\n";
break;
case Teresa :
cout << "Teresa's birthday is February 2.\n";
break;
case John :
cout << "John's birthday is June 17.\n";
break;
default :
cout << "Invalid selection\n";
}
return 0;
}
程序运行结果:
2
Sharon's birthday is April 22.
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有