在本文中,您将学习使用枚举(enum)。 此外,您还将学习 C++ 编程中通常使用枚举的地方。
枚举是用户定义的数据类型,由整数常量组成。 要定义枚举,使用关键字enum。
enum season { spring, summer, autumn, winter };
在此,枚举的名称是season。
并且,spring,summer和winter是season类型的值。
默认情况下,spring为 0,summer为 1,依此类推。 您可以在声明过程中更改枚举元素的默认值(如有必要)。
enum season{ spring = 0,summer = 4,autumn = 8,winter = 12};
枚举类型声明
创建枚举类型时,仅创建变量的蓝图。 这是创建枚举类型变量的方法。
enum boolean { false, true };// inside functionenum boolean check;
在此,创建类型为enum boolean的变量check。
这是使用不同语法声明相同check变量的另一种方法。
enum boolean{false, true} check;
示例 1:枚举类型
#include <iostream>using namespace std;enum week { Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday };int main(){week today;today = Wednesday;cout << "Day " << today+1;return 0;}
输出
Day 4
示例 2:更改枚举的默认值
#include <iostream>using namespace std;enum seasons { spring = 34, summer = 4, autumn = 9, winter = 32};int main() {seasons s;s = summer;cout << "Summer = " << s << endl;return 0;}
输出
Summer = 4
为什么在 C++ 编程中使用枚举?
枚举变量仅取许多可能值中的一个值。 示例来演示它,
#include <iostream>using namespace std;enum suit {club = 0,diamonds = 10,hearts = 20,spades = 3} card;int main(){card = club;cout << "Size of enum variable " << sizeof(card) << " bytes.";return 0;}
输出
Size of enum variable 4 bytes.
这是因为整数的大小为 4 个字节。
这使枚举成为使用标志的好选择。
您可以使用 C++ 结构完成相同的任务。 但是,使用枚举可以提高效率和灵活性。
如何将枚举用于标志?
让我们举个例子,
enum designFlags {ITALICS = 1,BOLD = 2,UNDERLINE = 4} button;
假设您正在设计 Windows 应用的按钮。 您可以将标记ITALICS,BOLD和UNDERLINE设置为文本。
上面的伪代码中所有积分常数都是 2 的幂是有原因的。
// In binaryITALICS = 00000001BOLD = 00000010UNDERLINE = 00000100
由于积分常数是 2 的幂,因此您可以使用按位 OR |运算符。 这使您可以一次选择两个或多个标志。 例如,
#include <iostream>using namespace std;enum designFlags {BOLD = 1,ITALICS = 2,UNDERLINE = 4};int main(){int myDesign = BOLD | UNDERLINE;// 00000001// | 00000100// ___________// 00000101cout << myDesign;return 0;}
输出量
5
当输出为 5 时,您始终知道会使用粗体和下划线。
另外,您可以在要求中添加标志。
if (myDesign & ITALICS) {// code for italics}
在这里,我们在设计中添加了斜体。 注意,仅在if语句内编写斜体代码。
您可以在 C++ 编程中完成几乎任何事情而无需使用枚举。 但是,它们在某些情况下可能非常方便。 那就是优秀程序员与优秀程序员的不同之处。
