c++中的结构,联合,枚举

时间:2022-08-03 00:25:17

c++中的结构,联合,枚举大部分和c差不多,但是还是有一些区别,现将这些区别总结如下:

一:结构

区别:1,在声明结构类型的变量时不用再使用struct关键字;

           2,在结构中可以声明函数;

代码实例如下:

#include<iostream>
using namespace std;

int main()
{
struct StuInfo{
char name[20];
int age;

void show()
{
cout << "我的名字是" << name << ",我几年" << age << "岁了!" << endl;
}
};
StuInfo stu = {"jack", 20};
stu.show();

return 0;
}
二:联合

区别:1,在声明联合类型的变量时不用再使用union关键字;

           2,支持匿名联合;

代码实例如下:

#include<iostream>
using namespace std;

int main()
{
union {
int n;
char c[4];
};
n = 0x12345678;
for(int i = 0; i < 4; i++)
cout << dec << c[i] << endl;
return 0;
}
三:枚举

区别:1,在声明枚举类型时不用再使用enum关键字;

           2,枚举不再是一种整数类型,而是一种独立的类型;

代码实例如下:

#include<iostream>
using namespace std;

int main()
{
enum E{a, b, c, d};
E e;
int n = a;
//a = 1; 这句是错误的,因为在c++中,枚举作为一种独立的数据类型,不能将整数类型赋值给枚举类型
e = b;//这样才可以赋值
cout << n << endl;
return 0;
}