目 录 1
第1章C++语言概述 1
1.1面向对象程序概述 1
1.1.1理解面向对象的涵义 1
1.1.2 OOP的由来 1
1.1.3 OOP的特点 1
1.1.4 C++与C语言 3
1.2 C++语言的词法和规则 4
1.3.1 C++程序结构的组成 5
1.3 C++程序结构 5
1.3.2 C++程序的书写格式 6
1.3.3 C++程序的实现 7
1.4 C++的发展 10
1.5本章小结 11
习题1 11
第2章常量和变量 14
2.1 数据类型 14
2.2常 量 18
2.3变量 19
2.4数组 22
2.5变量初始化和赋值 24
2.6输入/输出函数 26
2.6.1输入函数 26
2.6.2输出函数 26
2.6.3格式化输入/输出函数 29
2.7本章小结 32
习题2 32
第3章运算符 35
3.1运算符简介 35
3.1.1算术运算符 35
3.1.2关系和逻辑运算符 38
3.1.3按位运算符 40
3.1.4特殊运算符 42
3.1.5联合操作 45
3.2运算符的优先级 46
3.3表达式 48
3.3.1表达式的种类 48
3.3.2表达式的值 48
3.4数据类型与转换 50
3.4.1 类型定义 50
3.4.2数据类型的转换 50
3.5应用实例 53
7.4结构指针 1 56
习题3 56
第4章语句 59
4.1 语 句 59
4.1.1 空 白 59
4.1.2块和复合语句 59
4.2简单语句与复合语句 60
4.3声明语句 60
4.4选择语句 62
4.5循环语句 65
4.5.1 for循环语句 65
4.5.2 while循环 68
4.5.3 do while循环 70
4.6开关语句 71
4.7转向语句 74
4.7.1 break语句 74
4.7.2 continue语句 75
4.7.3 goto语句 76
4.8伪随机数 77
习题4 79
第5章函数 84
5.1 函数的定义 84
5.1.1 函数定义 84
5.1.2函数的调用 85
5.2函数的接口 88
5.2.1 函数的返回类型 88
5.2.2返回值 89
5.2.3参数表与参数传递 90
5.2.4用全程变量实现参数互传 93
5.2.5设置参数的默认值 94
5.3函数的嵌套调用 96
5.4函数的递归调用 98
5.5函数作用范围 99
5.6.2重载的实现 101
5.6.1函数重载概述 101
5.6函数重载 101
5.6.3运算符重载 102
5.6.4参数重载 104
5.7函数内联 105
5.7.1 内联函数引入的原因 105
5.7.2内联函数的定义方法 106
5.7.3用内联取代宏代码 107
5.7.4 内联函数的编程风格 109
5.7.5慎用内联 109
习题5 110
第6章结构与预处理 117
6.1.1结构说明和结构变量定义 117
6.1结构的概念 117
6.2.2结构变量的使用 118
6.2结构数组 122
6.2.1结构数组 122
6.2.2结构的复杂形式 123
6.3联合 124
6.3.1 联合说明和联合变量定义 124
6.3.2结构和联合的区别 126
6.4枚举(enum) 127
6.5预处理 129
6.5.1类型说明 129
6.5.2预处理 130
习题6 135
7指针概述 138
7.1.1指针变量的定义 138
第7章指针 138
7.1.2指针变量的引用 142
7.1.3指针运算规则 145
7.2指针和数组 145
7.2.1 一维数组的指针表示法 145
7.2.2指向二维数组的指针 147
7.3指向函数的指针 154
习题7 157
8.1.1文件的输入/输出函数 160
8.1 文件 160
第8章文件、库函数与算法 160
8.1.2容器 166
8.2头文件与库函数 169
8.3算法与数据结构 173
8.3.1排序算法 173
8.3.2数据结构 178
习题8 188
第9章类与对象 189
9.1 类 189
9.1.1类的概述 189
9.1.2类的定义 189
9.2.1对象的定义格式 191
9.2 对象的定义 191
9.2.2 对象成员的表示方法 192
9.2.3 对象的生命期 192
9.2.4关于类的实例 192
9.3对象的初始化 196
9.3.1构造函数和析构函数 196
9.3.2缺省构造函数和缺省析构函数 198
9.3.3拷贝初始化构造函数 199
9.4类域 200
9.5成员函数的特性 201
9.6.1指向类成员的指针 204
9.6类指针 205
9.6.2对象指针和对象引用作参数 206
9.6.3 this指针 209
9.7类的静态成员 210
9.7.1静态数据成员 210
9.7.2静态成员函数 212
9.8友元 213
9.8.1友元函数 214
9.8.2友元类 215
9.9对象数组 215
习题9 223
第1 0章类的继承和派生 226
10.1 派生与继承的基本概念 226
10.3单继承的应用 231
10.2基类与派生类的关系 231
10.4多继承的应用 237
10.5虚拟继承 242
10.6应用实例 245
习题10 249
第11章类的高级话题 253
11.1常量类型(const) 253
11.2类型转换 258
11.3 new和delete 261
11.4运算符重载 266
11.4.1 概述 266
11.4.2运算符重载的例子 269
11.5虚函数 278
习题11 280
第12章模板 285
12.1模板的概念 285
12.2模板的参数 287
12.3模板的使用与实例化 288
12.4类模板中的友元 291
习题12 294
第13章异常处理技术 297
13.1异常处理机制 297
13.2 C++异常处理 298
13.2.1try块 298
13.2.3 catch块 300
13.2.2 throw块 300
13.3异常处理的嵌套 302
习题13 304
第14章 泛型算法与STL 306
14.1 STL概述 306
14.2迭代器技术 307
14.2.1迭代器的类型 308
14.2.2使用迭代器编程 310
14.3函数和函数对象 316
习题14 325
习题解答 329
习题1 329
习题2 331
习题3 336
习题4 339
习题5 346
习题6 358
习题7 360
习题8 367
习题9 373
习题10 380
习题11 384
习题12 392
习题13 400
习题14 403