C++基础梳理--Class、Struct、Union
C++学习一段时间后,反过头来看我发现我忘了一下最基础的东西;strcut(结构体),union(联合体)我学会了类的一堆东西却忘了这两个最基础的;
现在就好好的重新学习一下这里的东西;
一、Class(类)
类用以定义对象;
默认情况下成员私有(private);
成员不一定按声明顺序储存;
二、strcut(结构体)
结构体用以定义过程或者结构(及一堆属性的结合);
默认情况下成员公有(public);
成员按声明顺序在内存中储存,但不一定是连续的;
三、union(联合体)
联合体(又叫共用体)用以定义用于定义一些特殊结构;
所有成员共用一块内存,内存的大小与成员中长度的最大的决定;
成员变量按声明顺序在内存中储存,并且内存是连续的;
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <iostream> 2 3 using namespace std; 4 5 union ip_address 6 { 7 unsigned int ip; 8 unsigned char r[5]; 9 }; 10 11 int main() 12 { 13 ip_address ip1; 14 ip1.ip = 0x4544434241; 15 cout << ip1.ip << endl; 16 cout << ip1.r[0] << endl; 17 cout << ip1.r[1] << endl; 18 cout << ip1.r[2] << endl; 19 cout << ip1.r[3] << endl; 20 cout << ip1.r[4] << endl; 21 return 0; 22 }