C++枚举类的使用

枚举是一种由编程者自定义的数据类型如果一个变量只有几种可能的取值,则可以定义为枚举类,比如一周只有七天,一个电脑城只有几种固定的品牌的电脑

enum 枚举类型名 标识符;

#include<iostream>
void main()

{
	enum Weekday {sun,mon,tue,wed,thu,fri,sat};
	Weekday day1, day2;
	int in1, in2;
	cout << "请输入两个0到6之间的整数:";
		cin >> in1 >> in2;
	day1 = (Weekday)in1;//in1和in2只能是枚举类型里的几种情况
	day2 = (Weekday)in2;
	if (day1 == day2) {
		cout << "您输入的都是";
		switch (day1) {
		case sun:cout << "周日\n"; break;
		case mon:cout << "周一\n"; break;
		case tue:cout << "周二\n"; break;
		case wed:cout << "周三\n"; break;
		case thu:cout << "周四\n"; break;
		case fri:cout << "周五\n"; break;
		case sat:cout << "周六\n"; break;
		}
	}
	else
	{
		cout << "您输入的两天分别是";
		switch (day1)
		{
		case sun:cout << "周日和"; break;
		case mon:cout << "周一和"; break;
		case tue:cout << "周二和"; break;
		case wed:cout << "周三和"; break;
		case thu:cout << "周四和"; break;
		case fri:cout << "周五和"; break;
		case sat:cout << "周六和"; break;
		}
		switch (day2)
		{
		
		case sun:cout << "周日\n"; break;
		case mon:cout << "周一\n"; break;
		case tue:cout << "周二\n"; break;
		case wed:cout << "周三\n"; break;
		case thu:cout << "周四\n"; break;
		case fri:cout << "周五\n"; break;
		case sat:cout << "周六\n"; break;
		}
	}

}

枚举类在很多语言里都有出现,使用方法和规范几乎都大同小异,在日常的开发中实用性应该挺强的。

声明了枚举类就可以定义枚举变量了,方法如下:

enum  枚举类型名 标识符;

例如:enum Weekday aday;

也可以把声明枚举类型和定义枚举类型变量和为一步这时可以不用声明枚举类型名:

enum {变量值列表} 标识符;

例如:{sum,mon,tue,wed,thu,fri,sat} aday;

变量aday的值只能是sun到sat之一,

例如:aday=sat;

声明枚举类型时,变量值列表中的标识符是一些符号常量,每一个都对应一个确定的整数型。第一个符号常量的值为0,第二个符合常量的值为1,以此类推。

也可以在声明枚举类型时自行指定符号常量的值,指定的值必须是整数

例如:enum Weekday{sun,mon,tue=5,wed,thu,fri,sat};

其中,sun=0,mon=1,tue=5,wed=6,thu=7,fir=8,sat=9;

不能把一个整数值直接赋值给以恶搞枚举类型变量,下面的语句是错误的:

aday=2;(错误)

但是可以通过强制转换将整数值赋值给枚举类型的变量:

aday={Weekday}2;

枚举类型变量之间可以进行关系运算。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值