第1章 C++语言编程入门 1
1.1 C++语言的产生 1
1.2 C++语言是一种面向对象的程序设计语言 1
1.2.1 C++语言和面向对象的程序设计 1
1.2.2 C++语言与C语言的关系 2
1.3 C++程序的开发步骤 3
1.4 一个简单C++程序的组成 3
1.5 C++语言的词法记号 5
1.5.1 字符集 5
1.5.2 词法记号 6
1.6 数据类型 7
1.6.1 基本数据类型 7
1.6.2 变量 8
1.6.3 常量 9
1.6.4 自定义数据类型 12
1.7 运算符与表达式 24
1.7.1 运算符 24
1.7.2 表达式 28
1.7.3 表达式中数据类型的转换 32
1.8 控制语句 33
1.8.1 选择语句 33
1.8.2 循环语句 40
1.8.3 转移语句 45
第2章 函数 48
2.1 函数的定义及调用 48
2.1.1 函数的定义 48
2.1.2 函数的声明 49
2.1.3 函数的调用 50
2.1.4 函数调用的执行过程 52
2.2 函数调用时参数的传递 53
2.3 内联函数 54
2.4 带默认形参值的函数 55
2.5 作用域 59
2.5.1 作用域分类 59
2.5.2 局部变量与全局变量 62
2.6 递归调用 63
2.7 重载函数 66
2.8 C++语言的系统函数 68
第3章 类与对象 70
3.1 类与对象概念的引入 70
3.2 类的声明 70
3.3 对象的声明 75
3.4 构造函数与析构函数 80
3.4.1 构造函数 80
3.4.2 析构函数 84
3.5 类的组合 85
3.6 静态成员 88
3.6.1 静态数据成员 88
3.6.2 静态成员函数 90
3.7 友元 92
3.7.1 友元函数 92
3.7.2 友元类 93
3.8 常对象、常成员函数与常数据成员 94
3.8.1 常对象 94
3.8.2 常数据成员 94
3.8.3 常成员函数 95
3.9 类的作用域及对象的生存期 97
3.9.1 类作用域 97
3.9.2 对象生存期 97
3.10 面向对象标记 99
第4章 指针与引用 101
4.1 指针 101
4.1.1 数据存储 101
4.1.2 指针的声明及使用 102
4.1.3 指针运算 106
4.1.4 与对象有关的指针 107
4.1.5 void和const指针 113
4.2 动态内存分配 115
4.2.1 运算符new 115
4.2.2 运算符delete 117
4.3 指针与数组 120
4.3.1 用指针访问数组元素 120
4.3.2 数组指针与指针数组 122
4.4 指针与函数 124
4.4.1 指针作为函数的参数 124
4.4.2 返回指针的函数 127
4.4.3 函数指针 129
4.4.4 带参数的主函数main() 135
4.5 字符串 138
4.6 引用 138
4.7 引用与函数 139
4.7.1 把引用用作函数参数 139
4.7.2 返回引用的函数 140
4.7.3 拷贝构造函数与对象的引用调用 141
4.8 指针与引用 146
4.9 程序实例——链表 147
第5章 继承 153
5.1 继承与派生 153
5.2 单继承 154
5.2.1 公有派生 154
5.2.2 私有派生 155
5.2.3 保护派生 157
5.3 多继承 159
5.4 派生类的构造函数与析构函数 161
5.5 二义性问题 165
5.6 虚基类 171
5.7 赋值兼容原则 174
第6章 运算符重载 177
6.1 运算符重载的语法 177
6.2 一元运算符 180
6.3 二元运算符的重载 182
6.4 特殊的运算符 183
6.4.1 =运算符的重载 183
6.4.2 ++和--运算符的重载 183
6.4.3 new和delete运算符的重载 185
6.4.4 []的重载 187
第7章 多态与虚函数 188
7.1 多态性概述 188
7.2 虚函数 188
7.3 抽象类 193
7.4 综合实例 199
第8章 群体类 208
8.1 线性群体 208
8.1.1 可直接访问的线性群体——数组类 208
8.1.2 顺序访问群体——链表类 214
8.2 群体数据的排序与查找 222
第9章 模板 227
9.1 函数模板 227
9.2 类模板 228
第10章 I/O流 243
10.1 I/O流概述 243
10.2 输入输出格式控制 244
10.3 文件输入输出 251
10.4 用户自定义类型的输入输出 255
第11章 标准模板类库STL 258
11.1 基本数据结构知识 258
11.2 标准模板类库STL简介 259
11.3 向量 259
11.4 链表类的使用 268
11.5 双端队列 275
11.6 栈与队列 282
11.7 集合 286
第12章 异常处理 293
12.1 异常处理的基本语法 293
12.2 异常处理的使用 297
12.3 标准C++库中的异常类 304
参考文献 305