C++枚举类型

转自:https://www.runoob.com/cprogramming/c-enum.html

1.介绍

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};

第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。

定义枚举类型,然后定义枚举变量,

enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};
enum DAY day;

 

2.例子

#include <iostream>
using namespace std;
 
enum DAY
{
      MON=1, TUE, WED, THU, FRI, SAT, SUN
};
 
int main()
{
    DAY day;
    day = WED;
    DAY day2=SUN;
    cout<<day<<"\n";
    cout<<day2<<"\n";
    return 0;
}

输出:

3
7

枚举真是神奇,如果不使用枚举的话,就需要宏定义了,为每个整数定义一个别名:

#define MON  1
#define TUE  2
#define WED  3
#define THU  4
#define FRI  5
#define SAT  6
#define SUN  7

 

3.C11 enum class

https://blog.csdn.net/sanoseiichirou/article/details/50180533#2-enum-class-和-enum-struct

上面第一节所说的旧版enum存在向整形的隐式转换问题。

所以C++11中出现了enum class。//具体待研究。

 

posted @ 2022-10-17 01:01  lypbendlf  阅读(50)  评论(0编辑  收藏  举报