C++结构体
c++定义结构体的语法 和 c 相同
不同点:
1.在表达结构体类型时 c++可以省略struct 关键字。
2.c++结构体中可以定义函数。
#include <iostream>
using namespace std;
struct Name
{
string dsanmux;
void show()//结构体中可以定义函数
{
cout << dsanmux << endl;
}
};
int main()
{
Name name; //省略struct
name.show();
}
联合 union
定义联合体的语法 和 c 完全相同
不同点:
1.表达联合类型时 可以省略 union
2.c++支持匿名联合
#include <iostream>
using namespace std;
int main()
{
union
{
int x;
char data[4];
};
x=0x41424344; //c++支持匿名联合
cout << x << endl;
for(int i=0;i<4;i++)
{
cout << data[i] << ' ';
}
cout << endl;
}
枚举 enum
定义枚举的语法 和 c 完全相同
不同点:
- 表达类型时 可以省略enum
- 枚举变量只能赋值 枚举值,不能赋值整数这里体现了c++的类型检查严格。
#include <iostream>
using namespace std;
enum Dire{UP,DOWN,LEFT,RIGHT};
int main()
{
Dire dir;
dir = LEFT;
int x=321;
x = dir;
cout << x << endl;
x=3;
//这里体现了c++ 的类型检查严格
//dir = x 枚举变量只能赋值 枚举值,不能赋值整数
if(3 == x )
{
dir = RIGHT;
}
}