第一部分 C++基础 2
第1章 编程语言的学习方法 2
1.1 编程的意义 2
1.2 学习的目的 2
1.3 学习方法 2
1.4 学习的感觉 4
1.5 本书的内容 4
1.6 第一个程序 4
第2章 搭建编程环境 11
2.1 VC的使用方法 11
2.2 VS的使用方法 16
2.3 CB的使用方法 20
第3章 常见错误类型 24
3.1 程序的调试 24
3.2 常见错误类型 24
第4章 函数 38
第5章 程序结构 44
5.1 什么是程序结构 44
5.2 顺序结构 44
第6章 分支结构 56
6.1 if语句 56
6.2 switch语句 63
6.3 菜单结构 66
第7章 循环结构 68
7.1 while语句 68
7.2 for语句 72
7.3 主程序结构 73
第8章 数组 76
8.1 实例—计算平均成绩 76
8.2 数组 79
8.3 数组元素的排序 81
8.4 字符串与字符数组 83
8.5 实例—输入密码的程序 84
8.6 结构体 88
第9章 随机数 92
9.1 实例—抽奖程序 92
9.2 产生随机数的方法一:使用“time(NULL)”函数 93
9.3 产生随机数的方法二:使用“rand()”函数 94
9.4 产生随机数的方法三:调用系统时间 98
第10章 程序的效率 101
10.1 两种效率 101
10.2 程序的归属 103
10.3 程序的易读性 103
10.4 好程序的标准 105
10.5 程序执行的速度测试 108
第11章 软件开发的过程 110
11.1 算法 111
11.2 容错 111
11.3 界面 112
11.4 趣味性 112
第二部分 C++要点 116
第12章 类 116
12.1 面向过程编程 116
12.2 “类”的概念 117
12.3 类的使用方法 119
12.4 类成员的属性 123
12.5 实例—平面点类 126
12.6 实例—书籍类 128
第13章 类的初始化 130
13.1 构造函数 130
13.2 构造函数的使用 134
13.3 函数的重载 135
13.4 构造函数的重载 138
13.5 实例 141
第14章 类的继承与派生 143
14.1 继承与派生 143
14.2 派生类的构造函数 146
14.3 父类中有重载的构造函数 148
14.4 实例 151
14.5 类的组合 154
14.6 继承与派生的方式 155
第15章 运算符重载 157
15.1 运算符重载的含义 157
15.2 输入/输出运算符的重载 158
15.3 双目运算符的重载 162
15.4 单目运算符的重载 164
第16章 指针与引用 171
16.1 指针 171
16.2 指针的定义 172
16.3 引用 174
16.4 引用的练习 175
16.5 引用的用途 176
第17章 虚函数 179
17.1 继承与派生的例子 179
17.2 虚函数 181
17.3 虚函数的实例 183
17.4 虚函数的练习 185
第18章 模板与名字空间 187
18.1 函数模板 187
18.2 类模板 189
18.3 名字空间 191
18.4 析构函数 193
第三部分 C++编程 196
第19章 容器 196
19.1 数组的例子 196
19.2 数组作形参 197
19.3 容器 198
19.4 容器作形参 199
19.5 容器的相关操作 201
19.6 用类封装容器 203
19.7 容器实例—一个小型的通信录管理系统 206
第20章 程序效率测试 210
20.1 基本的排序程序 210
20.2 增加元素的数量 212
20.3 量化排序的时间 213
20.4 使用容器进行排序 215
第21章 键盘交互 217
21.1 键盘交互 217
21.2 任意位置输出字符 219
21.3 第一个动画程序 220
21.4 按键动作判断 223
21.5 接收键盘码 223
21.6 键盘控制动画 224
21.7 完善界面的几个函数 227
第22章 计时器与多线程 230
22.1 计时器 230
22.2 计时器延时 232
22.3 多线程 235
22.4 多线程—类 237
22.5 加入键盘控制 240
22.6 实例 243
22.7 接收组合键 246
22.8 组合键实例 250
第23章 C++字符串 254
23.1 字符串 254
23.2 字符串的常用操作 255
23.3 查找子串 255
23.4 取子串 257
23.5 模糊查询 259
23.6 数据处理 260
23.7 字符串变码—倒序 262
23.8 字符串变码—偏移 263
第24章 文件 266
24.1 文本文件的基本操作 266
24.2 文件名作形参 267
24.3 读取带空格的字符串 269
24.4 实例—读取并显示文本文件的内容 270
24.5 实例—英汉词典 271
24.6 二进制文件的基本操作 274
24.7 实例—拷贝文件 276
24.8 实例—加解密文件(使用类) 278
24.9 归纳—二进制文件的常用操作 281
第25章 定制数据库 283
25.1 定制数据库 283
25.2 文件操作 283
25.3 内存操作 285
第26章 其他内容 290
26.1 多态性的归纳 290
26.2 程序的调试方法 290
26.3 常类型(const) 292
26.4 静类型(static) 295
26.5 字符串—数值相互转换 298
26.6 打印程序 302
26.7 网络通信程序 302
26.8 Win32程序 302
附录 303
附录1 字符编码的方式 303
附录2 软件开发的过程(实例—两个整数的加法) 308
附录3 “贪吃蛇”小游戏的源程序 319
附录4 小型数据库管理系统—成绩管理 326
附录5 定制数据库—通信录 338
附录6 字符串流—sstream 346
附录7 打印程序 351
附录8 网络通信程序 354
附录9 Win32程序的编程步骤 366
附录10 程序实例索引 369