enum 与 union

class a{
4 public:
5 a(char i):x(i){type = char_t;}
6 a(int i):y(i){type = int_t;}
7 a(long i):z(i){type = long_t;}
8 // private:
9 enum dog{char_t,int_t,long_t}type;
10 void print();
11 private:
12 union {char x;int y;long z;};//匿名联合体
13 };
14 void a::print(){
15 switch(type){
16 case char_t:
17 cout << x <<'\t' << "char" << endl;
18 break;
19 case int_t:
20 cout << y << '\t' << "int" << endl;
21 break;
22 case long_t:
23 cout << z << '\t' << "long" << endl;
24 }
25

 

void f2(){
38 union abc{char i;int j;long k;};//最后的有一个分号
39 abc a;
40 abc b;
41 abc c;
42 a.i = 'a';
43 b.j = 1099;
44 c.k = 12321;
45 }

不是匿名的union 

 

void f2(){
17 enum chy{a,b,c,d};
18 cout << sizeof(chy) << endl;
19 enum ch{x,y,z};
20 cout << sizeof(ch) << endl;
21 }

结果都是4

 

 

转载于:https://www.cnblogs.com/ccccccccc/p/3357518.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值