菜单
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

C++ 教程

C++ 主页 C++ 简介 C++ 入门 C++ 语法 C++ 输出 C++ 注释 C++ 变量 C++ 用户输入 C++ 数据类型 C++ 运算符 C++ 字符串 C++ 数学 C++ 布尔值 C++ If...Else C++ Switch C++ While 循环 C++ For 循环 C++ Break/Continue C++ 数组 C++ 结构体 C++ 枚举 C++ 引用 C++ 指针

C++ 函数

C++ 函数 C++ 函数参数 C++ 函数重载 C++ 作用域 C++ 递归

C++ 类

C++ OOP C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构与 STL C++ Vectors C++ List C++ Stacks C++ Queues C++ Deque C++ Sets C++ Maps C++ 迭代器 C++ 算法

C++ How To

C++ 两数相加 C++ 随机数

C++ 参考

C++ 参考 C++ 关键字 C++ <iostream> C++ <fstream> C++ <cmath> C++ <string> C++ <cstring> C++ <ctime> C++ <vector> C++ <algorithm>

C++ 示例

C++ 示例 C++ 现实生活中的例子 C++ 编译器 C++ 练习 C++ 测验 C++ 证书


C++ 枚举 (enum)


C++ 枚举

枚举是一种特殊的类型,表示一组常量(不可更改的值)。

要创建枚举,使用 enum 关键字,后跟枚举的名称,并用逗号分隔枚举项:

enum Level {
  LOW,
  MEDIUM,
  HIGH
};

请注意,最后一个项目不需要逗号。

不要求使用大写字母,但这通常被认为是良好实践。

Enum 是 "enumerations"(枚举)的缩写,意思是 "明确列出"。

要访问枚举,必须创建它的变量。

main() 方法中,指定 enum 关键字,后跟枚举的名称 (Level),然后是枚举变量的名称 (本例中为 myVar):

enum Level myVar;

现在您已经创建了一个枚举变量 (myVar),您可以为其赋值。

赋的值必须是枚举内部的其中一个项 (LOW, MEDIUMHIGH):

enum Level myVar = MEDIUM;

默认情况下,第一项 (LOW) 的值为 0,第二项 (MEDIUM) 的值为 1,依此类推。

如果您现在尝试打印 myVar,它将输出 1,代表 MEDIUM

int main() {
  // 创建一个枚举变量并为其赋值
  enum Level myVar = MEDIUM;

  // 打印枚举变量
  cout << myVar;

  return 0;
}
自己动手试一试 »

更改值

如您所知,枚举的第一项值为 0。第二项值为 1,依此类推。

为了使值更有意义,您可以轻松更改它们:

enum Level {
  LOW = 25,
  MEDIUM = 50,
  HIGH = 75
};
int main() {
  enum Level myVar = MEDIUM;
  cout << myVar;  // 现在输出 50
  return 0;
}
自己动手试一试 »

请注意,如果您为某个特定项赋值,则后续项将相应地更新其编号:

enum Level {
  LOW = 5,
  MEDIUM, // 现在是 6
  HIGH // 现在是 7
};
自己动手试一试 »

Switch 语句中的枚举

枚举通常用于 switch 语句中以检查相应的值:

enum Level {
  LOW = 1,
  MEDIUM,
  HIGH
};

int main() {
  enum Level myVar = MEDIUM;

  switch (myVar) {
    case 1
      cout << "Low Level";
      break;
    case 2
      cout << "Medium level";
      break;
    case 3
      cout << "High level";
      break;
  }
  return 0;
}
自己动手试一试 »

为什么以及何时使用枚举?

枚举用于为常量命名,这使得代码更易于阅读和维护。

当您拥有一组您知道不会改变的值时,请使用枚举,例如月份、星期几、颜色、一副牌等等。


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持