C++快速入门---联合、枚举和类型别名(7)
联合可以容纳多种不同类型的值,但是它每次只能存储这些值中的某一个。
#include <iostream>
union mima
{
unsigned long birthday;
unsigned short ssn;
char *pet;
};
int main()
{
mima mima_1;
mima_1.birthday = 19881301;
std::cout << mima_1.birthday << "\n";
mima_1.pet = "Chaozai";
std::cout << mima_1.pet << "\n";
std::cout << mima_1.birthday << "\n";
return 0;
}
这个联合将把"Chaozai"存入mima_1联合的pet成员,并丢弃birthday成员里的值。
枚举
枚举(enum)类型用来创建一个可取值列表。
编译器会按照各个枚举值在定义时出现的先后顺序把它们与0~n-1的整数分别关联起来。
#include <iostream>
int main()
{
enum weekdays{Monday, Tuesday, Wednesday, Thursday, Friday};
weekdays today;
today = Monday;
std::cout << today << "\n";
today = Tuesday;
std::cout << today << "\n";
}
类型别名typedef
使用它可以为一个类型定义创建一个别名。