C++ 学习之共用体和枚举

共用体

共用体union是一种数据类型,能够存储不同的数据类型,但只能同时存储其中的一种病数据类型。共用体的句法

union one4all
{
	int int_val;
	long long_val;
	double double_val;
};//可以使用one4all变量存储int、long、或者double

one4all pail;
pail.int_val = 15;//存储int
cout << pail.int_val;
pail.long_val = 38;//int 丢失 存储long
cout << pail.long_val;

枚举

使用enum可以创建符号常量,这种方式可以替代const。还可以定义新的类型,但是必须按照严格的限制执行。具体的句法如下:

enum spectrun = { red,orange,yellow,green,blue,violet,indigo,ultraviolet};
//这条语句完成两样工作
//1、让spectrum称为新类型的名称:spectrum称为枚举
//2、将 red、yellow、等作为符号常量他们对应的值应为0-7.这些常量叫做枚举量

默认情况下,将整数赋值给枚举量,第一个枚举量是0,依次递增。
用枚举名来声明一个变量:

spectrun band;

枚举量有一些特殊的属性:
1、在不进行强制转换的条件下,只能将定义枚举时使用的枚举量赋给这种枚举的变量例如:

band = blue;//有效
band = 2;//无效

2、对于枚举,只定义了赋值运算,没有定义算数运算

band = orange;//有效
++band;//无效
band = orange + band ; //无效

3、枚举量是整型,可以当作整型使用,但是整型不能自动转换为枚举类型;

int color = blue;//有效
band = 3;//无效
color = 3+red;//有效

4、如果int的值是有效的可以通过强制类型转换

band = spectrun(3)//对用green
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值