读书人

从零学习C++ (五)匿名共同体

发布时间: 2014-01-09 23:07:34 作者: rapoo

从0学习C++ (五)匿名共同体

#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;      }                    }  

读书人网 >C++

热点推荐