• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
demps_c
博客园    首页    新随笔    联系   管理    订阅  订阅
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

 

 

posted on 2013-10-08 17:36  demps_c  阅读(293)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3