初学C++中联合体的一点问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:44:58
下面的这个程序里有一个地方不懂,我把它写在语句后面。鄙人C++很菜,希望各路英雄好好帮忙才是
#include <iostream.h>

struct aircraft
{
int wingspan;
int passengers;
union
{
float fuel_load;
float bomb_load;
int pallets;
};
} fighter, bomber, transport; 此处这样写的依据是什么
int main( )
{
fighter.wingspan = 40;
fighter.passengers = 1;
fighter.fuel_load = 12000.0;

bomber.wingspan = 90;
bomber.passengers = 12;
bomber.bomb_load = 14000.0;
cout << "The fighter carries "<< fighter.pallets << " pallets.\n";
cout << "The bomber bomb load is " << bomber.bomb_load << "\n";

return 0;
}

transport.wingspan = 106;
transport.passengers = 4;
transport.pallets = 42;

transport.fuel_load = 18000.0;
fighte

没什么啊,联合体、结构体、类的定义的后面本来就可以跟相关名称啊!
这里可以这样定义,也可以:
struct aircraft
{
int wingspan;
int passengers;
union
{
float fuel_load;
float bomb_load;
int pallets;
};
};/*注意这里有一个分号*/

然后在main()中写;
struct aircraft fighter, bomber, transport;
这样也定义了三个变量。

定义3个全局变量 fighter bomber transport
类型是 aircraft