举一个c++的联合类型
时间: 2024-03-24 13:40:36 浏览: 25
在 C++ 中,也可以使用联合类型(Union Type)来定义一个变量可以包含多种不同类型的值。下面是一个示例代码:
```c++
#include <iostream>
using namespace std;
union MyUnion {
int i;
float f;
char str[20];
};
int main() {
MyUnion u;
u.i = 10;
cout << "Value of i: " << u.i << endl;
u.f = 3.14;
cout << "Value of f: " << u.f << endl;
strcpy(u.str, "Hello, World!");
cout << "Value of str: " << u.str << endl;
return 0;
}
```
在上面的示例代码中,我们定义了一个名为 `MyUnion` 的联合类型。这个联合类型包含三个成员变量:一个整型变量 `i`,一个浮点型变量 `f` 和一个长度为 20 的字符数组 `str`。
在 `main` 函数中,我们定义了一个 `MyUnion` 类型的变量 `u`,并分别给它的三个成员变量赋值。由于联合类型中的成员变量共用同一块内存,因此在给一个成员变量赋值后,其他成员变量的值将会被覆盖。
在输出变量 `u` 中的三个成员变量时,需要根据具体情况来确定其类型。例如,当输出整型变量 `i` 时,可以使用 `u.i`,而当输出字符数组 `str` 时,可以使用 `u.str`。