Cpp union

 1 /* Cpp union */
 2 
 3 #include<iostream>
 4 
 5 // union 本质是一个类  可以内部有函数
 6 // union 内部数据是共享的,不同对象之间是独立的 代码是共享的
 7 // union 具备结构体所有的功能
 8 // union 某些节约内存类 需要用到共用体
 9 union MyUnion
10 {
11     int a;
12 private: 
13     double db;
14     int num;
15     void go()
16     {
17     
18     }
19 }
20 
21 // union 内部数据是共享内存的  不可以继承
22 union MyUnionA
23 {
24     int a;
25 private: 
26     double db;
27     int num;
28     void go()
29     {
30     
31     }
32 }
33 
34 int main()
35 {
36 
37     std::cout << sizeof(MyUnion) << std::endl;
38 
39     MyUnion union1;
40     //union1.db = 20;// 无法访问private成员
41     
42     //union1.a = 19;
43     
44     union1.num = 30;
45     
46     std::cout << union1.num << std::endl;
47     union1.db = 10.9;// 时时刻刻共用体只有一个变量存在
48     std::cout << union1.num << std::endl;
49     
50     std::cin.get();
51     return 0;
52 }

 

posted on 2015-06-03 10:12  Dragon-wuxl  阅读(219)  评论(0)    收藏  举报

导航