Menu
×
   ❮     
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++ 面向对象编程 C++ 类/对象 C++ 类方法 C++ 构造函数 C++ 访问修饰符 C++ 封装 C++ 继承 C++ 多态 C++ 文件 C++ 异常 C++ 日期

C++ 数据结构

C++ 数据结构 & STL C++ 向量 C++ 列表 C++ 栈 C++ 队列 C++ 双端队列 C++ 集合 C++ 映射 C++ 迭代器 C++ 算法

C++ 如何做

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
};

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

使用大写字母不是必需的,但通常被认为是最佳实践。

枚举是“枚举”的简称,意思是“专门列出”。

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

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

enum Level myVar;

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

分配的值必须是枚举中的其中一项 (LOWMEDIUMHIGH)

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 语句中,用于检查相应的 value。

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

int main() {
  enum Level myVar = MEDIUM;

  switch (myVar) {
    case 1
      cout << "低等级";
      break;
    case 2
      cout << "中等等级";
      break;
    case 3
      cout << "高等级";
      break;
  }
  return 0;
}
自己尝试 »

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

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

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


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.