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号
广州京杭网络科技有限公司 版权所有