第1章 概述 1
1.1 C++程序设计语言 1
1.1.1 C磁盘数据读写程序 1
1.1.2 C++面向对象磁盘数据读写程序 2
1.1.3 C++泛型方法磁盘数据读写程序 3
1.2 C++之前的历史 4
1.3 C++的产生和发展 5
1.4 C++后续的发展方向 5
1.5 C++的应用领域 6
小结 6
习题 6
第2章 从C向C++过渡 8
2.1 C++关键字 8
2.2 C++的数据类型 8
2.2.1数据类型特征 8
2.2.1 const常变量 9
2.3简单的输入与输出 9
2.3.1利用cout输出数据 9
2.3.2利用cin输入数据 10
2.4类和对象 12
2.4.1面向对象编程设计 12
2.4.2面向对象编程基本特点 12
2.4.3类的声明和对象的定义 13
2.5 C++对函数的扩充功能 16
2.5.1内联函数 16
2.5.2重载函数 17
2.5.3带默认参数的函数 18
2.5.4 const参数的函数 19
2.6运算符重载函数 19
2.7引用 21
2.7.1引用的基本原理 21
2.7.2引用作为函数参数 21
小结 22
习题 22
实验 23
第3章 构造与析构函数 24
3.1构造函数 24
3.1.1无参数的构造函数 24
3.1.2带参数的构造函数 25
3.1.3构造函数的参数初始化列表 26
3.2构造函数的重载 26
3.3包含对象数据成员的类构造函数 28
3.4拷贝构造函数 29
3.5默认构造函数 30
3.6析构函数 31
小结 32
习题 32
实验 33
第4章 继承与多态 34
4.1继承结构 34
4.2访问父类成员 35
4.3派生类的构造 36
4.3.1派生类的声明方式 36
4.3.2派生类的构成 36
4.4继承方式 37
4.4.1公有继承 38
4.4.2私有继承 38
4.4.3保护继承 38
4.5继承与组合 39
4.5.1组合类的构成 39
4.5.2组合类的构造与析构 39
4.6虚函数 41
4.6.1多态性与虚函数 41
4.6.2纯虚函数 41
4.7抽象类 42
4.8多态编程 42
小结 43
习题 44
实验 44
第5章 类的特殊成员 45
5.1静态成员的必要性 45
5.2静态成员数据 46
5.3静态成员函数 47
5.4常量成员函数 48
5.5 const对类形参的限定 49
5.6赋值运算符重载函数 50
5.7类的友元 52
小结 54
习题 54
实验 54
第6章 模板 55
6.1函数模板 55
6.2重载函数模板 56
6.3类模板 57
6.4类模板参数传递机制 59
小结 60
习题 60
实验 60
第7章 IO流 61
7.1 C格式化输入输出的缺点 61
7.2 I/O标准流类 62
7.2.1输出流类 62
7.2.2输入流类 62
7.3控制台流类 63
7.4文件流类 64
7.5串流类 67
7.6控制符 69
7.7 IO成员函数 77
7.8重载插入运算符 85
7.9插入运算符与虚函数 86
小结 87
习题 87
实验 88
第8章 异常 89
8.1异常处理结构 89
8.2异常中的多态性 90
小结 92
习题 92
实验 92
第9章 向泛型编程过渡 93
9.1指针概念回顾 93
9.1.1指针的定义 93
9.1.2指针的操作 94
9.2指针运算 95
9.2.1指针的算术运算 95
9.2.2指针的关系运算 96
9.3指针与数组 96
9.3.1指针与数组的关系 96
9.3.2 C ++数组的局限性 97
9.4堆内存分配和指针 97
9.4.1用new分配内存 98
9.4.2用delete释放内存 98
9.5指针与函数 99
9.5.1函数与指针 99
9.5.2指向函数的指针 100
小结 101
习题 101
实验 101
第10章STL概述 102
10.1 STL历史回顾 102
10.2 STL优势 102
10.3容器 103
10.3.1复杂度 104
10.3.2元素类型 104
10.3.3序列容器 105
10.3.4流容器 105
10.3.5关联容器 106
10.3.6容器共同的函数 106
10.4迭代器 108
10.4.1迭代器分类 108
10.4.2流式迭代器 109
10.4.3容器类内部定义的类型 110
10.5算法 111
10.6函数对象 111
10.6.1一元函数类 112
10.6.2二元函数类 113
10.7适配器 115
小结 115
习题 115
实验 116
第11章 序列容器 117
11.1 string容器 117
11.1.1 string成员函数 117
11.1.2 string应用 118
11.2 bitset容器 119
11.2.1 bitset构造函数 120
11.2.2 bitset成员函数 120
11.2.3 bitset应用 120
11.3 vector容器 122
11.3.1 1vector成员函数 122
11.3.2 vector应用 122
11.4 deque容器 124
11.4.1 deque成员函数 124
11.4.2 deque应用 125
11.5 list容器 126
11.5.1 list成员函数 126
11.5.2 list应用 126
小结 128
习题 128
实验 128
第12章 泛型算法 129
12.1算法的标记方法 130
12.2非变异序列算法 130
12.2.1 find、 find_ if、 count、 count_ if 130
12.2.2 for_ each 132
12. 2.3 pair类型 132
12.2.4 mismatch、equal 134
12.3变异序列算法 135
12.3.1 copy、 copy_backward 135
12.3.2 replace、 replace_if 138
12.3.3 swap 139
12.3.4 generate 139
12.3.5 transform 140
12.4排序和查询算法 141
12.4.1 sort 142
12.4.2 max_ element、 min_ element、 nth_ element 143
12.4.3 binary_search、lower_bound、upper_bound 144
12.4.4 merge 145
12.5通用数值算法 147
12.5.1 accumulate 147
12.5.2 inner_ product 148
12.5.3 adjacent_difference 150
12.6集合类算法 151
12.6.1 includes 151
12.6.2 set_ union 151
12.6.3 set_ intersection 152
12.6.4 set_ difference 152
12.6.5 set_symmetric_ difference 153
12.7堆算法 154
12.7.1 push_heap 154
12.7.2 pop_heap 154
12.7.3 make_ heap 155
12.7.4 sort_heap 155
小结 156
习题 156
实验 157
第13章 适配器 158
13.1容器适配器 158
13.1.1 stack适配器 158
13.1.2 queue适配器 159
13.1.3 pnoty_queue适配器 161
13.2函数对象适配器 164
13.2.1否定器 164
13.2.2绑定适配器 165
13.3迭代器适配器 167
小结 168
习题 168
实验 168
第14章 关联容器 170
14.1 set容器 170
14.1.1 set构造函数 170
14.1.2 set成员函数 171
14.1.3 set应用 171
14.2 multiset容器 172
14.2.1 multiset构造函数 172
14.2.2 multiset成员函数 172
14.2.3 multiset应用 173
14.3 map容器 174
14.3.1 map构造函数 174
14.3.2 map成员函数 174
14.3.3 map应用 175
14.4 multimap容器 176
14.4.1 multimap构造函数 176
14.4.2 multimap成员函数 177
14.4.3 multimap应用 177
小结 179
习题 179
实验 179
参考文献 180