目录 2
上编 C++面向过程程序设计 2
第一章 C++编程基础 2
1.1 关于C和C++ 2
1.2 C++程序的基本结构 3
1.3 基本字符集、标识符与关键字 8
1.4 基本数据类型 12
1.5 运算符与表达式 18
1.6 赋值语句及输入输出简述 23
1.7 程序设计风格 29
1.8 小结 29
第二章 程序控制结构 30
2.1 if语句 30
2.2 switch语句 36
2.3 while语句 38
2.4 do-while语句 39
2.5 for语句 42
2.6 用于循环控制的几个特殊运算符 45
2.7 多重循环结构 48
2.8 break语句、continue语句和goto语句 56
2.9 小结 60
第三章 数组与字符串 62
3.1 一维数组 62
3.2 多维数组 73
3.3 字符数组、字符串与字符串类型string 81
3.4 小结 87
第四章 函数 89
4.1 函数概述 89
4.2 函数定义与函数调用 90
4.3 函数原型 98
4.4 函数的嵌套调用与递归调用 100
4.5 通过函数参数传递数据 108
4.6 数组作为函数参数传递 113
4.7 变量的作用域和存储类别 118
4.8 函数的存储类别 122
4.9 系统标准库函数 122
4.10 内联函数 123
4.11 函数重载 124
4.12 函数模板 126
4.13 小结 129
第五章 指针 130
5.1 指针变量的说明与赋值操作 130
5.2 指针运算 136
5.3 指向数组的指针变量 139
5.4 指向字符串的指针变量 147
5.5 指向函数的指针变量 150
5.6 返回指针值的函数 152
5.7 指针数组 153
5.8 指向指针的指针变量 154
5.9 主函数main的参数 155
5.10 小结 158
第六章 结构体与线性链表 159
6.1 用typedef定义类型 159
6.2 结构体变量说明与赋值操作 160
6.3 结构体数组和结构体指针 166
6.4 动态内存分配及释放 173
6.5 线性链表的概念 176
6.6 线性链表生成与遍历 177
6.7 在已知线性链表中的插入与删除操作 181
6.8 线性链表基本应用示例 185
6.9 小结 190
第七章 共用体、枚举类型、位运算及编译预处理 192
7.1 共用体 192
7.2 枚举类型 200
7.3 位运算 205
7.4 编译预处理 215
7.5 小结 221
第八章 输入/输出流文件 222
8.1 标准输入/输出流 222
8.2 流格式操纵符 224
8.3 流文件的打开和关闭 229
8.4 输入/输出流文件成员函数 234
8.5 流文件的定位与随机读写 241
8.6 小结 246
下编 C++面向对象程序设计 250
第九章 对象与类 250
9.1 从结构化程序设计到面向对象程序设计 250
9.2 面向对象技术的基本特征 251
9.3 C++结构体与类 251
9.4 类定义与对象说明 257
9.5 类的成员函数 259
9.6 类的构造函数和析构函数 267
9.7 类的作用域、类的嵌套定义和静态类成员 273
9.8 小结 278
第十章 继承与派生类 280
10.1 C++派生类 280
10.2 改变成员访问控制属性 284
10.3 派生类与基类中同名成员的处理——同名覆盖 286
10.4 间接继承 288
10.5 类的保护成员 293
10.6 继承机制下类的构造函数和析构函数 300
10.7 多继承概述 306
10.8 小结 308
第十一章 多态性和虚函数 309
11.1 指向基类的指针和指向派生类的指针 309
11.2 使用基类指针引用派生类对象时同名成员函数的处理 312
11.3 静态联编与动态联编 315
11.4 virtual成员函数——虚函数 315
11.5 纯虚函数与抽象基类 319
11.6 虚成员函数表 322
11.7 虚析构函数 326
11.8 小结 334
第十二章 运算符重载 335
12.1 关于运算符重载 335
12.2 用类的成员函数进行运算符重载 339
12.3 用顶层函数进行运算符重载 355
12.4 用类的友元函数进行运算符重载 359
12.5 小结 362
第十三章 模板 364
13.1 函数模板与模板函数 364
13.2 重载模板函数 370
13.3 类模板与模板类 374
13.4 类模板用作函数模板的参数 384
13.5 标准模板库STL简述 386
13.6 小结 391
14.1 C++异常处理机制 393
第十四章 异常处理 393
14.2 引发多个异常 397
14.3 再次引发异常的系统预定义异常 400
14.4 异常的传播 408
14.5 异常的规格说明 411
14.6 捕获并处理任何异常 414
14.7 在类继承机制下异常的传播 417
14.8 小结 420
第十五章 C++面向对象程序设计基本应用示例 421
15.1 集合类定义与集合运算 421
15.2 有理数类定义与有理数运算 435
15.3 栈类模板定义与栈运算 443
15.4 小结 451
附录一 常用字符与ASCII代码对照表 452
附录二 运算符的优先级和结合性 453
主要参考书目 455