1.1 C++语言的发展和特点 1
第1章 绪论 1
1.2 面向对象的程序设计 2
1.2.1 抽象和封装---对象 2
1.2.2 派生和继承 3
1.2.3 多态性 3
1.3 C++程序的结构 3
1.4 基本的输入和输出 5
1.5 C++程序的开发步骤 7
习题 8
第2章 数据和表达式 10
2.1 C++语言的词法符号 10
2.1.1 关键字 10
2.1.2 标识符 10
2.2 基本数据类型 11
2.1.3 标点符号 11
2.1.4 分隔符 11
2.3 常量 13
2.3.1 数值常量 13
2.3.2 字符常量 14
2.3.3 字符串常量 14
2.4 变量及其说明 15
2.5 基本运算符和表达式 16
2.5.1基本运算符 16
2.5.2 表达式 21
2.6 赋值表达式和类型转换 22
2.6.1 赋值表达式 22
2.6.2 增量减量运算符 22
2.6.3 复合赋值运算符 24
2.6.4表达式中的类型转换 24
2.6.5 强制类型转换 25
2.7.1 变量的初始化 26
2.7 简单变量的初始化 26
2.7.2 const和volatile修饰符 27
习题 28
第3章 程序控制语句 29
3.1 C++语言的语句 29
3.1.1 C++语句的基本形式 29
3.1.2 块语句 29
3.2 选择语句 30
3.2.1 if语句 30
3.2.2 if语句的嵌套 32
3.2.3 三元条件表达式 33
3.2.4 switch语句 34
3.3 循环语句 38
3.3.1 while语句 38
3.2.5 if语句和switch语句的比较 38
3.3.2 do-while语句 40
3.3.3 for语句 40
3.3.4 三种循环语句的比较 44
3.3.5 循环的嵌套 44
3.4 循环的中断 45
3.4.1 break语句 46
3.4.2 continue 语句 46
3.4.3 exit()函数和abort()函数 47
3.4.4 补充说明 48
3.5 goto语句与标号 49
习题 50
第4章 函数 52
4.1 函数 52
4.1.1 定义函数 52
4.2 函数间的数据传递 53
4.1.2 函数的调用 53
4.2.1 函数的参数和返回值 54
4.2.2 函数原型 57
4.2.3 函数的值调用 58
4.3 C++的库函数 59
4.4 作用域和存储类 60
4.4.1 作用域 60
4.4.2 存储类 63
4.5 函数的递归调用 67
4.6 内联函数 70
4.7 带有缺省参数的函数 71
4.8 参数数目可变的函数 73
4.9函数重载 75
4.10 编译预处理 77
4.10.1 嵌入指令 77
4.10.2 宏 78
4.10.3 条件编译指令 82
4.11 程序的多文件组织 84
4.11.1 连接属性 85
4.11.2 分割编译 87
习题 87
第5章 数组 89
5.1 数组 89
5.1.1 一维数组 89
5.1.2 多维数组 91
5.1.3 数组间的赋值 93
5.1.4 数组与函数 95
5.2 字符串 97
5.2.1 字符串的存储形式 97
5.2.2 字符串数组 98
5.2.4 字符串与函数 99
5.2.3 字符串间的赋值 99
5.3 字符串处理库函数 100
习题 102
第6章 指针和引用 103
6.1 指针 103
6.1.1 指针概念 103
6.1.2 指针的说明 103
6.1.3 对指针的访问 104
6.1.4 指针的运算 105
6.1.5 多级指针 108
6.2 指针与数组 108
6.2.1 用指针访问数组元素 109
6.2.2 指针与字符串 111
6.2.3 指针数组和数组指针 112
6.3.1 指针作为函数的参数 115
6.3 指针与函数 115
6.3.2 返回指针的函数 119
6.3.3 C++语言中的main()函数 121
6.3.4 指向函数的指针 125
6.4 指针和动态内存分配 130
6.5 引用 133
6.5.1 引用的说明与使用 133
6.5.2 引用与函数 135
6.6 void和const型指针 137
6.6.1 void型指针 137
6.6.2 const型指针 140
习题 141
第7章 结构、联合和枚举 143
7.1 类型定义 143
7.2 结构 144
7.2.2 说明结构变量 145
7.2.1 定义结构 145
7.2.3 访问结构变量 146
7.2.4 结构变量成员 148
7.3 结构数组和结构指针 150
7.3.1 结构数组 150
7.3.2 结构指针 152
7.4 结构与函数 153
7.5 位域 160
7.6 联合 162
7.6.1 定义联合 162
7.6.2 联合的使用 163
7.7 枚举 164
7.7.1 枚举类型的定义及其变量的说明 164
7.7.2 枚举变量的使用 166
习题 169
第8章 类和对象 171
8.1 概述 171
8.2 类 172
8.2.1 类的说明 172
8.2.2 类与结构 175
8.2.3 内联成员函数 175
8.3 对象 176
8.3.1 对象的说明 176
8.3.2 对象的使用 177
8.3.3 类作用域 179
8.4 成员函数的重载 181
8.5 this指针 183
习题 184
9.1 构造函数 185
9.1.1 定义构造函数 185
第9章 构造函数和析构函数 185
9.1.2 构造函数与对象初始化 186
9.1.3 构造函数和new运算符 187
9.1.4 缺省的构造函数 188
9.2 析构函数 190
9.2.1 定义析构函数 190
9.2.2 析构函数和delete运算符 192
9.2.3 缺省的析构函数 193
9.3 拷贝初始化构造函数 195
9.4 构造函数与对象成员 200
q习题 205
第10章 继承和派生类 206
10.1 继承 206
10.1.1 单一继承 207
10.1.2 多重继承 211
10.2 初始化基类成员 213
10.3 二义性、支配规则和赋值兼容规则 219
10.3.1 二义性 219
10.3.2 支配规则 221
10.3.3 继承和对象成员 222
10.3.4 赋值兼容规则 222
10.4 虚基类 223
习题 229
第11章 类的其它特性 230
11.1 友元函数 230
11.1.1 友元函数的说明 230
11.1.2 使用友元函数 231
11.1.3 将成员函数用作友元 231
11.2 虚函数 234
11.2.1 虚函数 234
11.2.2 纯虚函数 237
11.3.1 静态数据成员 243
11.3 静态成员 243
11.3.2 静态成员函数 245
11.4 const,volatile对象和const,volatile成员函数 246
11.5 指向类成员的指针 251
习题 255
第12章 运算符重载 256
12.1 运算符重载 256
12.1.2 使用运算符重载 258
12.1.3 友元运算符 259
12.1.4 转换函数 262
12.1.5 赋值运算符重载 264
12.1.1 重载运算符 266
12.2 几个特殊运算符的重载 267
12.2.1 增量减量运算符 267
12.2.2 下标运算符 270
12.2.3 其它几个特殊运算符的重载 274
12.3 字符串类 275
12.3.1 定义字符串类 275
12.3.2 使用字符串类 279
习题 280
第13章 C++语言的I/O流类 282
13.1 概述 282
13.1.1 流 282
13.1.2 文件 283
13.1.3 缓冲 283
13.2 C++的基本流类体系 283
13.2.1 基本流类体系 283
13.2.2 预定义的流及流运算符 284
13.2.3 流的格式化I/O 286
13.2.4 流的错误处理 293
13.3.1 格式化输入 296
13.3 输入和输出 296
13.3.2 输入操作函数 298
13.3.3 格式化输出 300
13.3.4 输出操作函数 301
13.3.5 重载提取和插入运算符 303
习题 304
第14章 文件流和内存流 305
14.1 文件流 305
14.1.1 C++语言的文件流类体系 305
14.1.2 文件的打开与关闭 306
14.1.3 文件的访问 308
14.2 几个主要用于文件的函数 310
14.2.1 文件的读写函数 310
14.2.2 文件随机访问的函数 313
14.3 文本文件和二进制文件 314
14.3.1 文本文件 314
14.3.2 二进制文件 318
14.4 内存流 321
14.4.1 C++的内存流类体系 321
14.4.2 使用内存流 322
14.5 两个专门用于内存流的函数 323
习题 325
第15章 模板 326
15.1 函数模板 326
15.1.1 定义模板函数 326
15.1.2 使用模板函数 328
15.1.3 特例函数 330
15.2 类模板 331
15.2.1 定义模板类 331
15.2.2 使用模板类 333
习题 335
附录 ASCII码表 336
参考文献 337