第 1章 在画面上输出和从键盘输入 1
1-1 C++的历史 2
1-2 首先在画面上输出 4
在控制台画面上输出 4
向流的连续输出 9
缩进 9
符号字符的读法 10
自由书写格式 11
1-3 变量 14
输出计算结果 14
变量 15
变量和初始化 17
1-4 从键盘输入 20
从键盘输入 20
运算符和操作数 21
连续读入值 22
一元算术运算符 22
读入实数值 24
常量对象 26
生成随机数 27
读入字符 29
读入字符串 30
小结 32
第 2章 程序流的分支 35
2-1 if语句 36
if语句(其一) 36
关系运算符 37
if语句(其二) 37
相等运算符 40
逻辑非运算符 40
嵌套if语句 41
表达式和求值 43
表达式语句和空语句 45
逻辑运算符 47
条件运算符 51
求三个值中的最大值 53
块(复合语句) 55
逗号运算符 57
两个值的排序 57
在条件部分声明变量 59
2-2 switch语句 62
switch语句 62
选择语句 65
2-3 组成程序的字句要素 66
关键字 66
分隔符 67
字面量 67
标识符 68
运算符 68
小结 72
第3章 程序流的循环 75
3-1 do-while语句 76
do-while语句 76
流程图 80
3-2 while语句 82
while语句 82
递增运算符和递减运算符 83
do-while语句和while语句 87
左值和右值 89
复合赋值运算符 89
3-3 for语句 93
for语句 93
循环语句 96
3-4 多重循环 97
九九乘法表 97
显示直角三角形 98
3-5 break语句、continue语句和goto语句 101
break语句 101
continue语句 102
goto语句 104
3-6 转义字符和控制符 107
转义字符 107
三字符组和双字符组 110
控制符 110
小结 113
第4章 基本数据类型 115
4-1 算术型 116
整型 116
头文件 118
字符型 119
有符号整型和无符号整型 124
整数字面量 127
整数后缀和整数字面量的类型 128
内置类型 129
对象和sizeof运算符 129
size_t型和typedef声明 130
typeid运算符 131
整数的内部 133
bool型 136
浮点型 138
算术型 140
4-2 运算和类型 143
运算和类型 143
显式类型转换 144
循环的控制 148
类型转换的规则 150
4-3 枚举体 152
枚举体 152
小结 156
第5章 数组 159
5-1 数组 160
数组 160
用for语句遍历数组 161
数组的初始化 164
数组元素个数 165
使用数组处理成绩 165
获取数组类型的信息 167
数组元素的逆序排列 167
复制数组 169
5-2 多维数组 172
多维数组 172
多维数组的元素个数 176
获取多维数组的类型信息 177
初始化器 178
小结 180
第6章 函数 183
6-1 函数 184
函数 184
main函数 191
函数声明 191
值传递 194
void函数 195
函数的通用性 196
调用其他函数 197
实参和形参的类型 198
不接收参数的函数 199
默认实参 201
执行位运算的函数 203
移位运算符 205
整型的位数 209
6-2 引用和引用传递 212
值传递的局限性 212
引用 212
引用传递 213
三个值的排序 215
6-3 作用域和存储期 218
作用域 218
存储期 219
返回引用的函数 223
6-4 重载和内联函数 226
函数的重载 226
内联函数 228
小结 232
第7章 指针 235
7-1 指针 236
对象和地址 236
指针 237
使用了取址运算符和解引用运算符的表达式的求值 241
7-2 函数调用和指针 244
指针传递 244
7-3 指针和数组 246
指针和数组 246
解引用运算符和下标运算符 248
下标运算符的操作数 249
数组和指针的不同点 251
函数之间的数组的传递 251
const指针型的形参 253
函数之间的多维数组的传递 254
7-4 通过指针遍历数组元素 257
通过指针遍历数组元素 257
线性查找 258
7-5 动态创建对象 263
自动存储期和静态存储期 263
动态存储期 263
动态创建数组对象 266
对象创建失败和异常处理 268
空指针 270
指向void的指针 271
小结 273
第8章 字符串和指针 275
8-1 字符串和指针 276
字符串字面量 276
字符数组 277
字符串指针 283
两种字符串的不同点 284
字符串的数组 286
8-2 cstring库 291
strlen:计算字符串的长度 291
strcpy、strncpy:复制字符串 293
strcat、strncat:拼接字符串 294
strcmp、strncmp:比较字符串 297
小结 299
第9章 函数的应用 301
9-1 函数模板 302
函数模板和模板函数 302
显式实例化 305
显式特例化 307
9-2 大规模程序的开发 309
分离式编译和链接 309
9-3 命名空间 315
命名空间的定义 315
无名命名空间 317
using声明和using指令 318
小结 320
第 10章 类 323
10-1 类的思想 324
数据的操作 324
类 325
构造函数 331
成员函数和消息 333
10-2 类的实现 339
在类定义之外的成员函数的定义 339
头文件和源文件的分离 341
汽车类 348
小结 353
第 11章 简单类的创建 355
11-1 日期类的创建 356
日期类 356
构造函数的定义 356
构造函数的调用 358
复制构造函数 359
临时对象 360
类对象的赋值 361
默认构造函数 362
const成员函数 364
this指针和*this 368
类类型的返回 369
通过this指针访问成员 370
字符串流 372
插入符和提取符的重载 373
11-2 作为成员的类 378
类类型的成员 378
has-A关系 378
构造函数初始化器 379
头文件的设计和引入保护 383
小结 391
第 12章 转换函数和运算符函数 393
12-1 计数器类 394
计数器类 394
转换函数 397
运算符函数的定义 398
运算符函数的调用 401
12-2 布尔值类 404
布尔值类 404
类作用域 404
转换构造函数 406
用户自定义转换 407
插入符的重载 407
12-3 复数类 410
复数 410
运算符函数和操作数的类型 411
友元函数 413
const引用参数 415
加法运算符的重载 418
复合赋值运算符的重载 419
相等运算符的重载 419
运算符函数的相关规则 422
小结 424
第 13章 静态成员 427
13-1 静态数据成员 428
静态数据成员 428
静态数据成员的访问 431
13-2 静态成员函数 434
静态成员函数 434
私有的静态成员函数 435
静态数据成员和静态成员函数 441
小结 443
第 14章 通过数组类学习类的设计 445
14-1 构造函数和析构函数 446
整数数组类 446
类对象的生命周期 447
显式构造函数 449
析构函数 450
14-2 赋值运算符和复制构造函数 453
赋值运算符的重载 453
复制构造函数的重载 457
14-3 异常处理 461
对错误的处理 461
异常处理 462
异常的捕获 462
异常的抛出 464
小结 469
后记 471
参考文献 473