#include <iostream>;
#include <cmath>;
#include <string>;
#include <cstring>;
/*
匿名共用体
匿名共用体(anonymous union)没有名称,其成员将成为位于相同地质处的变量。显然,每次
只有一个成员是当前的成员。
下面的例子中,由于共同体是匿名的,因此id_num 和 id_char被视为price的两个成员,他们的地址相同,所以
不需要中间标示符 id_val.程序员负责确定当前哪个成员是活动的。
*/
struct widget{
char brand[20];
int type;
union {
long id_num;
char id_char[20];
};
};
int main(){
using namespace std;
widget price;
price.type = 1;
if(price.type == 1){
cin >> price.id_num;
}else{
cin >> price.id_char;
}
if(price.type == 1){
cout << price.id_num << endl;
}else{
cout << price.id_char << endl;
}
}
从0学习C++ (五)匿名共同体
最新推荐文章于 2024-04-22 08:53:11 发布
本文介绍了一个使用C++实现的匿名共用体示例。通过该示例展示了如何定义一个包含匿名共用体的结构体,并通过判断结构体成员的类型来决定从键盘读取哪种类型的值。此外,还演示了如何根据结构体成员的类型输出相应的值。
1015

被折叠的 条评论
为什么被折叠?



