一,typedef声明
在编写程序时,除了可以使用内置的基本数据类型名和自定义的数据类型名外,还可以为一个已有的数据类型另外命名。
类型命名的语法形式:
typedef 已有类型名 新类型名表;
其中,新类型名表中可以有多个标识符,之间以逗号分隔。
例如:
typedef double Area,Volume;
typedef int Natural;
Area a;
Volume v;
二,枚举类型 enum
将变量的可取值一一列举出来,便构成了一个枚举类型。声明形式如下:
enum 枚举类型名 {变量值列表};
例如:
enum Weekday {SUN,MON,TUE ,WEN,THU,FRI,SAT};
枚举类型应用说明:
- 对枚举常量按常量处理,不能赋值。
- 枚举元素有默认值,依次为:0,1,2,···。
- 也可以在声明时另行定义枚举元素的值,如:
Enum Weekday {SUN=7,MON=1,TUE,WEN,THU,FRI,SAT};
定义SUN为7,MON为1,以后顺序加1,SAT为6。
4.枚举值可以进行关系运算。
5.整数不能直接赋给枚举变量,如需要,应进行强制类型转换。
例:输出比赛的四种情况
#include<iostream>
using namespace std;
enum GameResult {WIN,LOSE,TIE,CANCEL};
int main() {
GameResult result; //声明枚举变量
enum GameResult omit = CANCEL;//也可以加上enum
for (int count = WIN; count <= CANCEL; count++) {//隐含类型转换
result = GameResult(count);//显式类型转换
if (result == omit) cout << "The game was cancelled" << endl;
else {
cout << "The game was played " ;
if (result == WIN) cout << "and we won!";
if (result == LOSE) cout << "and we lost.";
cout << endl;
}
}
return 0;
}
运行情况:
The game was played and we won!
The game was played and we lost.
The game was played
The game was cancelled
D:\C++练习\Project1\x64\Debug\Project1.exe (进程 52736)已退出,代码为 0。
要在调试停止时自动关闭控制台,请启用“工具”->“选项”->“调试”->“调试停止时自动关闭控制台”。
按任意键关闭此窗口. . .