第1篇 基本技能训练 1
第1章 简介 2
1.1 C与C+++ 2
1.2 Turbo C+++与Borland C+++ 2
1.3 安装Borland C+++ 3
1.3.1 安装Borland C+++的步骤 3
1.3.2 保护模式和内存管理 4
1.3.3 扩展和扩充内存 5
1.6 其他 6
1.4 运行BC 6
1.5 膝上计算机系统 6
1.7 面向对象的方法 7
第2章 C+++中的基本I/O语句 8
2.1 基本程序结构 8
2.1.1 字符串的打印 8
2.1.2 整数的输出 9
2.1.3 浮点数的输出 10
2.1.4 字符的输出 10
2.1.5 cout的优点 11
2.2 基本变量类型与变量的声明 13
2.3 字符变量与转义控制字符 15
2.4 基本算术运算 16
2.5 输入/输出数据流cin/cout 17
2.6 const常量声明 18
2.7 使用时定义变量及其类型 20
2.8 无符号数据类型 20
2.9 类型转换 21
2.10 赋值表达式 22
2.11 递增、递减操作符 23
2.12 综合应用 24
第3章 程序流程控制 31
3.1 关系操作符 31
3.2 for循环 32
3.3 域宽函数setw() 37
3.4 for循环嵌套 39
3.5 while循环 40
3.6 while循环嵌套 43
3.7 getche()与getch() 44
3.8 do循环 46
第4章 用户定义的数据类型 48
4.1 typedef 48
4.2 结构数据类型 49
4.2.1 嵌套结构 54
4.2.2 几个关于结构的例子 56
4.3 联合 59
4.4 枚举 60
5.1 函数的定义 65
第5章 函数的应用 65
5.2 主程序和函数的位置 67
5.3 函数返回值return 69
5.4 结构数据与函数 72
5.5 地址的传送 74
5.6 初始化函数参数值 76
5.7 函数重载 77
5.8 递归函数调用 79
5.9 inline操作符 80
6.1 auto 82
第6章 变量的存储类型 82
6.2 static 84
6.3 external 86
6.4 static external 88
6 5 register 89
6.6 函数外部变量与地址操作符& 89
6.7 作用域访问操作符 90
第7章 类与对象 91
7.1 类的定义 91
7.2 对象 92
7.3 构造函数和析构函数 95
7.4 在构造函数内传递参数 97
7.5 函数重载与类 99
7.6 函数重载与构造函数 101
7.7 对象作为成员函数的参数 102
7.8 类和结构的关系 104
7.9 再论inline函数 105
7.10 静态类数据 106
7.11 综合应用 108
8.1 一维数组 116
第8章 数组 116
8.2 二维数组 119
8.3 在函数内传递数组数据 122
8.4 结构数据与数组 124
8.5 在对象内声明数组元素 125
8.6 对象数组 129
第9章 重载操作符 132
9.1 简介 132
9.2 单目重载操作符 133
9.3 对象相加(+)重载操作符 136
9.4 算术赋值(=)重载操作符 139
9.5 字符串连接(+)重载操作符 141
9.6 基本数据类型的赋值运算 143
9.6.1 同一类型变量的赋值运算 143
9.6.2 不同类型变量的赋值运算 143
9.7 浮点与对象类型转换的重载操作符 144
9.8 字符串与对象类型转换的重载操作符 146
10.2 基类与派生类 148
10.1 简介 148
第10章 类继承 148
10.3 private与public继承关系 151
10.4 派生类构造函数的定义 153
10.5 派生类成员函数同名定义 155
10.6 含基类构造函数的构造函数声明 158
10.7 类层次 160
10.8 多重继承 162
10.9 嵌套类 165
11.1 静态联编与动态联编 170
第11章 虚拟函数、友元函数与this指针 170
11.2 虚拟函数 172
11.2.1 纯虚函数 173
11.2.2 纯虚函数的应用 174
11.3 友元函数 177
11.4 友元类 178
11.5 this指针 180
第12章 类库 186
12.1 建立类库函数文件 186
12.3 建立PROJECT文件 187
12.2 目录的设置 187
12.4 Borland类函数库的结构 188
12.5 Object类 189
12.6 非容器类 189
12.6.1 String类 189
12.6.2 Date类 191
12.6.3 Time类 193
12.7 容器类 195
12.7.2 Stack类 196
12.7.1 Container类 196
12.7.3 Queue类 197
12.7.4 Array类 198
12.7.5 List类 200
12.7.6 SortedArray类 201
12.7.7 Deque类 202
12.7.8 DoubleList类 204
12.7.9 Bag类 206
12.7 10 Set类 208
12.7.11 Association类 209
12.7.12 Dictionary类 210
12.8 综合应用实例 212
第13章 鼠标的控制 215
13.1 功能调用 215
13.1.1 功能调用0 215
13.1.2 功能调用1 216
13.1.3 功能调用2 217
13.1.4 功能调用3 218
13.1.5 功能调用4 220
13.1.6 功能调用5 222
13.1.7 功能调用6 225
13.1.8 功能调用7 227
13.1.9 功能调用8 229
13.1.10 功能调用9 231
13.1.11 功能调用10 232
13.1.12 功能调用11 235
13.1.13 功能调用15 235
13.2 综合应用实例 237
第14章 Borland图形接口(BGI) 246
14.1 初始化BGI 246
第2篇 高级绘图技巧 246
14.2 编写基本的BGI程序 247
14.3 错误检查 248
14.4 使用坐标 249
14.5 绘图命令 250
14.5.1 象素 250
14.5.2 绘制图表 252
14.5.3 填充图表 253
14.5.4 文本与字体 255
14.5.5 切割成型的风景画 258
第15章 BGI绘图函数 263
15.1 象素级绘图 263
15.1.1 绘制单个象素 263
15.1.2 颜色的使用 263
15.1.3 CGA颜色 264
15.1.4 EGA和VGA颜色 265
15.2 绘图命令综述 266
15.2.1 画线 266
15.2.4 画弧、圆和椭圆 269
15.2.2 画矩形 269
15.2.3 画多边形 269
15.3 动画基础 271
15.4 区域填充 273
15.4.1 设置填充图案 274
15.4.2 用户定义的填充图案 274
15.4.3 存取填充图案 274
15.4.4 尝试用户定义的填充图案 275
15.4.5 箭头键 276
15.4.6 喷流填充 280
第16章 BGI字体和文本 281
16.1 图形模式下的文本 281
16.1.1 位图字体 281
16.1.2 四种笔划字体 281
16.1.3 BGI文本函数 282
16.1.4 把文本写到屏幕上 283
16.1.5 把文本写到象素位置 283
16.1.6 文本显示范例 283
16.2.1 选择和装入字体 284
16.2 存取字体 284
16.2.2 装入字体时的错误 285
16.3 放大字符 286
16.3.1 把文本放入方框中 287
16.3.2 有关裁剪文本的说明 289
16.4 显示字符和数码 289
16.5 扩展的文本处理例程 289
16.5.1 printf()的图形版本 290
16.6 使用文本输入 291
16.6.1 键入字符串 291
16.5.3 gprintfxy()函数 291
16.5.2 为笔划字体清道 291
16.6.2 键入数字值 292
第17章 表示图 297
17.1 基本图形类型 297
17.1.1 饼图 297
17.1.2 条形图 304
17.1.3 三维条形图 310
17.1.4 楔形图 310
17.2 动画 312
第18章 动画 314
18.1 间隔化 314
18.1.1 把一条线动画化 315
18.1.2 使用间隔化技术 315
18.1.3 getimage()和putimage() 317
18.2 在背景上动画化对象 322
18.2.1 动画化多个对象 325
18.2.2 getimage()和putimage()的限制 325
18.3 用调色板动画化 325
18.4 使用多重屏幕页 330
第19章 创建鼠标工具包 331
19.1 鼠标的使用 331
19.2 访问鼠标驱动程序 332
19.3 鼠标函数 333
19.3.1 鼠标初始化 333
19.3.2 附加的鼠标成员函数 335
19.3.3 鼠标光标 335
19.3.4 鼠标位置 336
19.3.5 鼠标按钮 336
19.4 增添键盘输入 338
19.3.6 方框中的鼠标 338
19.3.7 更多的鼠标控制 338
19.4.1 仿真鼠标 339
19.4.2 初始化键盘对象 339
19.4.3 仿真鼠标光标 340
19.4.4 仿真鼠标位置 341
19.4.5 仿真鼠标按钮 341
19.5 测试鼠标 353
第20章 使用图标 355
20.1 表示图标 355
20.2 保存图标 356
20.3 读图标文件 357
20.4 交互编辑程序 357
20.4.1 建立屏幕 358
20.4.2 建立放大的图标 358
20.4.3 显示原始图标 359
20.4.4 与用户进行交互 360
20.4.5 转置图标象素 360
20.4.6 退出图标编辑程序 361
20.4.7 样本图标 361
21.1.1 gwindows类 367
第21章 弹出式窗口 367
21.1 基本方法 367
21.1.2 弹出式窗口 368
21.1.3 使用堆栈 368
21.1.4 初始化窗口程序包 369
21.1.5 弹出式例程 369
21.1.6 仔细考察gpopup() 370
21.1.7 保存屏幕 371
21.1.8 建立弹出式窗口 371
21.1.10 删除所有窗口 372
21.1.9 消除弹出式窗口 372
21.2 使用窗口程序包 376
21.3 测试程序 377
第22章 交互式绘图工具 379
22.1 交互式绘图程序包 379
22.1.1 绘图约定 380
22.1.2 仔细考察draw.cpp工具 380
22.1.3 用画笔绘图 382
22.2.1 擦除 383
22.2 各种绘图支持 383
22.2.2 喷涂效果 384
22.2.3 画线 385
22.2.4 画多边形 386
22.2.5 画矩形 386
22.2.6 画圆 387
22.2.7 画椭圆 388
22.2.8 画弧 389
22.2.9 杂项绘图支持 389
23.1.1 使用屏幕对象 405
第23章 画画程序 405
23.1 综述 405
23.1.2 建立环境 407
23.2 画画函数 408
23.3 下拉菜单 409
23.4 改变填充类型 409
23.5 交互作用 409
23.7 增强画画程序 410
23.8 测试画画程序 410
23.6 使用画画程序 410
第24章 CAD程序 423
24.1 画画和画图 423
24.1.1 设置屏幕 424
24.1.2 对象表 425
24.2 画各种对象 426
24.2.1 画线 427
24.2.2 画多边形和圆 428
24.2.3 作为图形对象的文本 428
24.3 复制函数 429
24.2.4 显示图形对象 429
24.2.5 删除图形对象 429
24.4 旋转命令 430
24.5 修改绘图次序 430
24.6 选择和移动对象 431
24.7 访问gobjlist中的成员函数 431
24.8 扩充CAD程序 432
24.9 测试CAD程序 432
参考文献 462