1.1.1 C++语言的发展概况 1
1.1.2 几点说明 1
第1章 C++语言概述 1
1.1 C++语言概况 1
1.2.1 C++语言具有C语言的一切特点 2
1.2 C++语言的特点 2
1.3.1 面向过程的C++语言源程序的一般组成 3
1.3 C++语言源程序的组成 3
1.2.2 C++语言的独有特点 3
1.3.2 面向对象的C++语言源程序的一般组成 4
1.3.3 函数概念及其组成 5
1.3.4 C++语言源程序举例 6
1.3.5 几点说明 7
1.3.6 C++语言源程序的分类及其设计运行方法 8
2.1.3 C++语言中的关键字与特定字 9
2.1.2 C++语言基本字符集中字符的分类 9
第2章 C++语言的基本成分 9
2.1 C++语言的基本字符集 9
2.1.1 字符和字符集的概念与字符集的用途 9
2.2.1 常量的概念及其分类 11
2.2 C++语言中常量、变量的概念、分类及其使用方法 11
2.2.2 变量的概念及其分类 12
2.2.3 标识符的概念及其构造规则 13
2.2.5 C++语言中变量的使用方法 14
2.2.4 变量的4种属性 14
2.3.1 整型常量 15
2.3 整型常量与整型变量:整型数据 15
2.2.6 几点说明 15
2.3.2 整型变量 16
2.3.3 整型变量的数据类型说明 17
2.3.4 对整型常量、整型变量可实行的运算及整型变量的赋值规则 18
2.4.1 实型常量 21
2.4 实型常量与实型变量:实型数据 21
2.4.3 实型变量的数据类型说明 22
2.4.2 实型变量 22
2.5.1 ASCII编码表及其中的字符 23
2.5 字符型常量与字符型变量:字符型数据 23
2.4.4 对实型常量、实型变量可实行的运算及实型变量的赋值规则 23
2.5.2 字符型常量的定义及其4种形式 25
2.5.5 在字符型常量与字符型变量上可实行的运算及字符型变量的赋值规则 29
2.5.4 字符型变量的数据类型说明语句 29
2.5.3 字符型变量的定义及其分类 29
2.6.1 C++语言中常量的定义方法 30
2.6 C++语言中常量的定义方法与变量在程序中的用途 30
2.5.6 字符串型常量 30
2.6.2 变量在程序中的用途 31
2.7.2 各种数值型数据的混合运算及数据类型的自动转换规则 32
2.7.1 变量赋初值及其方法 32
2.7 变量赋初值与各类数值型数据混合运算时数据类型的转换 32
2.7.4 C++语言中各种数值型数据类型转换的具体方法 34
2.7.3 数值型数据量数据类型的强制性转换及相应的转换表达式 34
2.7.5 几点说明 36
2.8.1 C++语言中的各种运算符与表达式的分类 37
2.8 C++语言中的算术运算符与算术表达式 37
2.8.2 算术运算符 38
2.8.3 算术表达式及算术运算符的优先级别与结合性 39
2.8.4 算术表达式值的数据类型的强制性转换 40
2.8.5 自加1、自减1运算符与相应的表达式 41
2.9.1 移位运算符与移位表达式概述 43
2.9 移位运算符与移位表达式 43
2.10.1 关系型表达式的定义 45
2.10 关系型运算符与关系型表达式 45
2.9.2 几点说明 45
2.10.3 关系型表达式的求值规则 46
2.10.2 关系型表达式的分类 46
2.11.1 3种基本逻辑表达式 47
2.11 逻辑型运算符与逻辑型表达式 47
2.10.4 关系型表达式的求值举例 47
2.11.3 逻辑型表达式在程序设计中的应用 48
2.11.2 逻辑表达式的定义和求值规则 48
2.12.1 按位逻辑运算符与按位逻辑表达式概述 49
2.12 按位逻辑运算符与按位逻辑表达式 49
2.12.2 关于按位逻辑运算的几点说明 51
2.12.3 移位表达式与按位逻辑表达式的综合应用 52
2.13.1 条件二分支取值表达式及其求值规则 53
2.13 条件二分支取值表达式 53
2.13.2 几点说明 54
2.14 混合型表达式 56
2.13.3 用条件二分支取值表达式表示数值型分段函数 56
2.14.1 混合型表达式的定义 57
2.14.3 两种常用的混合型表达式及其真值表 58
2.14.2 原子型混合型表达式及其求值规则 58
2.15.2 几点说明 60
2.15.1 逗号运算符与逗号表达式概述 60
2.14.4 在C++程序中,用混合型表达式实现多个数值型数据的条件 60
2.15 逗号运算符与逗号表达式 60
2.16.2 单一型赋值表达式 61
2.16.1 赋值型运算符及其分类 61
2.16 赋值型运算符与赋值型表达式 61
2.16.3 复合型赋值表达式 63
2.16.4 几点说明 64
2.17.1 各种运算符的优先级别及其结合性 65
2.17 C++语言中各种运算符的优先级别及其结合性 65
2.17.2 几点说明 66
3.1.1 C++语言源程序的一般组成框图 69
3.1 C++语言中的语句概述 69
第3章 面向过程的直线型程序设计 69
3.1.2 C++语言中语句的类型 70
3.2.2 分支型结构 71
3.2.1 直线型结构 71
3.2 程序的3种基本结构 71
3.2.3 循环型结构 72
3.3.1 单一型赋值语句的格式和功能 73
3.3 赋值 73
3.2.4 几点说明 73
3.4.1 概述 74
3.4 C++语言中使用类类型变量cout的输出数据操作 74
3.3.2 几点说明 74
3.4.2 用非格式化表达式语句法输出数据 75
3.4.3 用格式化表达式输出语句法输出数据 76
3.5 C++语言中使用类类型变量cin的输入数据操作 77
3.5.2 几点说明 78
3.5.1 非格式化表达式输入语句法的输入数据操作 78
3.6.2 直线型程序的概念及其组成 79
3.6.1 C++程序设计的一般步骤 79
3.6 面向过程的直线型程序设计举例 79
3.6.3 直线型程序设计举例 80
第4章 分支语句与面向过程的分支型程序设计 84
4.1.2 无条件转移语句的用途 86
4.1.1 无条件转移语句概述 86
4.1 无条件转移语句 86
4.2.2 几点说明 88
4.2.1 二分支条件转移语句的格式和功能 88
4.1.3 几点说明 88
4.2 二分支条件转移语句与分支型程序 88
4.2.3 赋值型条件二分支转移语句及其等价的赋值型语句 90
4.3.1 if型多分支条件转移语句 91
4.3 多分支条件转移语句与多分支型程序 91
4.3.2 switch型多分支条件转移语句 92
4.3.3 几点说明 94
4.3.4 多分支型程序设计举例 95
5.1.1 while型(当型)循环语句 99
5.1 while型循环语句与doo…while型循环语句 99
第5章 循环语句与面向过程的循环型程序设计 99
5.2.1 for型循环语句概述 100
5.2 for型循环语句 100
5.1.2 do…while型循环语句 100
5.1.3 while型循环语句与do…while型循环语句的比较 100
5.3 break语句与continue语句 103
5.2.2 几点说明 103
5.3.1 break语句(中断语句) 104
5.3.2 continue语句 105
5.3.3 程序设计举例 107
6.1.2 数组变量的定义 113
6.1.1 数组变量的分类 113
第6章 数值型数组变量及其应用 113
6.1 数组变量的分类与定义 113
6.2.1 数值型一维数组变量说明语句 115
6.2 数值型一维数组变量的说明语句及初始化赋值 115
6.2.3 例题 116
6.2.2 几点说明 116
6.3.1 数值型一维数组变量的赋值操作 117
6.3 数值型一维数组变量的3种基本操作 117
6.2.4 数值型一维数组变量的初始化赋值 117
6.3.2 数值型一维数组变量的输入操作 118
6.3.3 数值型一维数组变量的输出操作 119
6.4.2 几点说明 120
6.4.1 数值型二维数组变量说明语句 120
6.4 数值型二维数组变量的说明语句及初始化赋值 120
6.4.5 几点说明 121
6.4.4 数值型二维数组变量的初始化赋值 121
6.4.3 例题 121
6.5.2 数值型二维数组变量的输入操作 122
6.5.1 数值型二维数组变量的赋值操作 122
6.5 数值型二维数组变量的3种基本操作 122
6.5.3 数值型二维数组变量的输出操作 123
7.1.1 字符型一维数组变量的说明语句 125
7.1 字符型一维数组变量的说明语句及其初始化赋值 125
第7章 字符型数组变量及其应用 125
7.1.3 几点说明 126
7.1.2 字符型一维数组变量的初始化赋值 126
7.2.2 输入操作 127
7.2.1 赋值操作 127
7.2 字符型一维数组变量的赋值操作、输入操作和输出操作 127
7.2.3 输出操作 128
7.2.4 求带符号十进制整数的二进制补码 130
7.2.5 将十进制整数转换为k进制整数 131
7.2.6 字符串内所含字符的升值排序 132
7.3.1 字符型二维数组变量的说明语句 133
7.3 字符型二维数组变量的说明语句及其初始化赋值 133
7.4.1 赋值操作 134
7.4 字符型二维数组变量的赋值操作、输入操作和输出操作 134
7.3.2 字符型二维数组变量的初始化赋值 134
7.4.2 输入操作 135
7.4.3 输出操作 136
第8章 指针型变量及其应用 137
8.1.2 指针型变量的概念及其说明语句 138
8.1.1 变量的指针 138
8.1 变量的指针与指向变量的指针型变量 138
8.1.3 指针型变量的使用方法及相应的两种运算符 139
8.1.4 程序设计举例 140
8.2.1 指针型变量的算术型运算 142
8.2 指针型变量的4种基本运算 142
8.2.2 指针型变量的关系型运算 144
8.2.4 指针型变量的复合型运算 145
8.2.3 指针型变量的赋值型运算 145
8.3.2 数值型一维下标变量(数组元素)指针的3种表示方法 146
8.3.1 下标变量(数组元素)与数组变量的指针 146
8.3 数值型一维数组变量的指针与相应的指针型变量 146
8.3.4 程序设计举例 147
8.3.3 数值型一维下标变量(数组元素)的5种表示方法 147
8.4.4 指针量的值与属性 151
8.4.3 二维下标变量的指针、行指针、数值型二维数组变量的指针 151
8.4 数值型二维数组变量的指针与相应的指针型变量 151
8.4.1 数值型二维数组变量的相应数值型一维数组变量 151
8.4.2 数值型二维数组变量在内存中的存储情况 151
8.4.5 二维下标变量指针、行指针、数值型二维数组变量指针的表达式 153
8.4.7 一维数组变量的指针型变量(行指针型变量)及相应的说明语句 155
8.4.6 数值型二维下标变量(数组元素)的表达式 155
8.5.4 字符型一维数组变量的指针变量式的非初始化赋值操作 156
8.5.3 字符型一维数组变量的指针变量式的初始化赋值操作 156
8.5 字符型一维数组变量的指针与相应的指针型变量 156
8.5.1 字符型一维数组变量的指针与字符型一维下标变量指针的表示方法 156
8.5.2 字符型一维下标变量的表示方法 156
8.5.5 字符型一维数组变量指针变量式的输入操作 157
8.5.6 字符型一维数组变量指针变量式的输出操作 158
8.6.3 字符型二维数组变量指针变量式的初始化赋值操作 160
8.6.2 字符型二维下标变量的表示方法 160
8.6 字符型二维数组变量的指针与相应的指针型变量 160
8.6.1 字符型二维数组变量指针与字符型二维下标变量指针的表示方法 160
8.6.5 字符型二维数组变量指针变量式的输入操作 161
8.6.4 字符型二维数组变量指针变量式的非初始化赋值操作 161
8.6.6 字符型二维数组变量指针变量式的输出操作 163
8.7.1 指向指针型变量的指针型变量的及其说明语句 165
8.7 指向指针型变量的指针型变量及其应用 165
8.7.2 程序设计举例 166
8.8.2 程序设计 168
8.8.1 指向void(空)类型的指针型变量及其说明语句 168
8.8 指向void(空)类型的指针型变量及其应用 168
8.9.1 C++程序占用内存的情况 169
8.9 存储器的动态分配(无名字变量)及其应用 169
8.8.3 函数值为void(空)类型指针的函数及其强制性转换 169
8.9.2 在C++程序中使用动态分配内存应遵循的原则 170
8.9.5 程序设计举例 171
8.9.4 专用于C++语言的堆区动态释放操作符delete 171
8.9.3 专用于C++语言的堆区动态分配操作符new 171
9.1.2 几点说明 177
9.1.1 函数的概念及其分类 177
第9章 C++语言中的函数 177
9.1 函数概述 177
9.2.2 有参数型函数的定义形式 178
9.2.1 无参数型函数的定义形式 178
9.2 函数定义的一般形式 178
9.3.1 函数的形式参数与实际参数 179
9.3 函数的参数与函数的返回值 179
9.2.3 空函数的定义形式 179
9.3.2 关于子函数参数的几点说明 180
9.3.3 子函数的返回值及其表示、提供和接收方法 181
9.4.1 被调用子函数在调用函数中的表达格式 182
9.4 函数的调用 182
9.3.4 关于子函数返回值的几点说明 182
9.4.3 对被调用子函数的说明 183
9.4.2 被调用子函数的3种调用方式 183
9.4.4 程序设计举例 184
9.5.1 函数的嵌套式调用与函数的嵌套式定义的概念 186
9.5 函数的嵌套式调用 186
9.5.2 程序设计举例:哥德巴赫猜想问题 187
9.6.1 函数的递归式调用概念及递归式函数分类 188
9.6 函数的递归式调用 188
9.6.2 程序设计举例 190
9.6.3 直接递归式子函数的工作原理 193
9.7.2 带参数子函数的处理功能 194
9.7.1 带参数子函数形参的确定原则与选择方案 194
9.7 子函数的形参、处理功能及返回值的确定原则与选择方案 194
9.8.1 数值型一维数组变量作参数的有参数函数概述 195
9.8 数值型一维数组变量作参数的有参数函数 195
9.7.3 带参数子函数返回值的载体与选择方案 195
9.8.2 程序设计举例 196
9.9.1 数值型二维数组变量作参数的有参数函数 198
9.9 数值型二维数组变量作参数的有参数函数 198
9.8.3 几点说明 198
9.9.2 程序设计举例:求矩阵中的最大数与最小数 199
9.10 字符型一维和二维数组变量作参数的有参数函数 200
9.11.2 函数型的指针型变量说明语句 204
9.11.1 函数的指针与函数的指针型变量概述 204
9.11 函数的指针与函数的指针型变量 204
9.11.4 程序设计举例 205
9.11.3 函数型指针型变量作参数的有参数函数 205
9.12.2 程序设计举例 207
9.12.1 返回变量型指针的子函数的函数原型语句 207
9.12 返回值为指针型量的函数及其应用 207
9.13.1 常用的8种字符串处理库函数 208
9.13 字符串处理库函数及其应用 208
9.13.2 程序设计举例:求最大字符串问题 209
9.14.1 带参数主函数的函数头部说明语句与命令行的一般格式 210
9.14 带参数的主函数及其在C++程序中的应用(命令行参数) 210
9.14.2 程序设计举例 211
9.15.3 程序设计举例 213
9.15.2 什么样的函数可作为内联函数使用 213
9.15 内联函数及其应用 213
9.15.1 内联函数的概念与说明语句 213
9.16.1 带缺省参数的函数概念与说明语句 214
9.16 带缺省参数的函数及其应用 214
9.16.2 程序设计举例 215
9.17.1 函数重载的概念与多个功能相似函数的重载式定义 216
9.17 C++语言中的函数重载及应用 216
9.16.3 带缺省参数函数的有关说明 216
9.17.2 程序设计举例 217
9.18.1 引用型变量的概念及其分类 218
9.18 C++语言中的引用型变量及其应用 218
9.17.3 有关函数重载的几点说明 218
9.18.3 引用型变量在不使用子函数的C++程序中的应用 219
9.18.2 引用型变量的声明语句 219
9.18.4 引用型变量充当形参与返回值变量时子函数的头部语句 221
9.18.5 程序设计举例 222
9.19.1 局部变量(内部变量) 224
9.19 C++语言中的局部变量与全局变量 224
9.19.2 全局变量(外部变量) 225
9.19.3 程序设计举例 227
9.20.2 计算机用户内存空间的分区 228
9.20.1 C++语言中基本数据类型变量的完整分类情况 228
9.20 C++语言中的静态变量与动态变量 228
9.20.4 变量的存储类型与变量的完整说明语句 229
9.20.3 静态变量与动态变量 229
9.20.6 程序设计举例 230
9.20.5 几点说明 230
9.21.1 内部函数(静态函数) 233
9.21 C++程序中的内部函数和外部函数 233
9.20.7 各类变量的作用范围与生存期小结 233
9.21.2 外部函数 234
9.21.3 应用外部函数的多文件型C++程序设计举例 235
10.1.1 不带参数的宏定义命令 238
10.1 宏定义命令及其应用 238
第10章 编译预处理及其命令 238
10.1.2 不带参数的宏定义命令在C++程序中的应用 239
10.1.3 带参数的宏定义命令 240
10.1.4 带参数的宏定义命令在C++程序中的应用 241
10.1.5 带参数的宏命令与函数的区别 242
10.2.1 文件包含命令及其用途 243
10.2 文件包含命令及其应用 243
10.3.1 条件编译与条件编译命令的分类 244
10.3 条件编译命令及其应用 244
10.2.2 几点说明 244
10.3.3 未定义标识符型的条件编译命令及应用 245
10.3.2 已定义标识符型的条件编译命令及应用 245
10.3.4 表达式型的条件编译命令及应用 246
第11章 C++语言中的结构体型变量及其应用 248
11.1.2 不含成员函数的结构体型数据类型的定义语句 249
11.1.1 结构体型数据类型 249
11.1 结构体型数据类型及其定义语句 249
11.1.3 结构体型变量的概念与分类 250
11.2.1 定义语句 251
11.2 不带成员函数的结构体型变量的定义语句 251
11.2.3 在C++程序中结构体型变量的使用规则 252
11.2.2 几点说明 252
11.3.2 部静态型结构体型变量的初始化赋值操作 253
11.3.1 外部型结构体型变量的初始化赋值操作 253
11.3 不带成员函数的结构体型变量的初始化赋值操作及应用 253
11.3.3 内部动态型结构体型变量的初始化赋值操作 254
11.4.2 结构体型一维数组变量的定义语句 255
11.4.1 结构体型数组变量 255
11.4 不带成员函数的结构体型一维数组变量及应用 255
11.4.3 结构体型一维数组变量占用内存的情况 256
11.4.4 结构体型一维数组变量的初始化赋值操作 256
11.4.5 程序设计举例:选举问题 257
11.5.1 结构体型指针型变量的概念及其说明语句 258
11.5 单个结构体型变量的指针型变量及其在程序设计中的应用 258
11.5.3 结构体型指针型变量在使用结构体型变量程序设计中的应用 259
11.5.2 结构体型变量各成员变量的指针法表示 259
11.5.4 结构体指针型变量在使用结构体型一维数组变量程序中的应用 260
11.5.5 结构体型指针型变量在含有子函数C++程序设计中的应用 263
12.1.1 类的概念及其声明 268
12.1 类的概念与类类型变量 268
第12章 C++语言中的类类型、对象及其应用(一) 268
12.1.3 类类型变量(对象)的概念及其定义语句 270
12.1.2 类函数成员的外部定义 270
12.1.4 程序设计举例 271
12.2.1 类公有函数成员的一般功能 272
12.2 类公有函数成员的形式参数、实际参数、返回值及其应用 272
12.2.2 类公有函数成员的形式参数与实际参数 273
12.2.3 类公有函数成员的返回值 274
12.2.4 简单的面向对象的C++程序设计举例 275
12.3 面向对象的单类-单对象型C++程序设计举例 278
12.4.1 面向对象C++程序的分类 286
12.4 面向对象C++程序的分类与一般组成 286
12.4.2 面向对象C++程序的一般组成 287
12.5.1 将面向过程的C++程序转换为面向对象的C++程序的一般步骤 288
12.5 将面向过程的C++程序转换为面向对象的C++程序 288
12.4.3 面向对象的单文件式与多文件式C++程序 288
12.5.2 程序设计举例 290
12.6 单类-多对象型C++程序设计 293
12.7 多类-单对象型与多类-多对象型C++程序设计 299
12.8.2 类类型的构造函数 306
12.8.1 变量获得初始值的方法 306
12.8 C++程序中对象私有数据成员的初始化赋值操作(一) 306
12.8.3 单个类类型变量(对象)的初始化操作 310
12.8.4 类类型一维数组变量(对象数组变量)的初始化操作 313
12.9 C++程序中对象私有数据成员的初始化赋值操作(二) 315
12.9.2 含有子对象的类类型单个变量(对象)的初始化操作举例 316
12.9.1 含有子对象的类类型单个变量(对象)的初始化操作 316
12.9.3 含有子对象的类类型数组变量(对象数组)的初始化操作 318
12.9.4 含有子对象的类类型数组变量(对象数组)的初始化操作举例 319
12.10.1 类的缺省构造函数 321
12.10 类的缺省构造函数、构造函数重载和带默认参数的用户定义构造函数 321
12.10.2 构造函数重载 323
12.10.3 带默认参数的用户定义构造函数 324
12.11.1 类的析构函数与缺省析构函数概述 325
12.11 类的析构函数与缺省析构函数 325
12.11.2 程序设计举例 326
12.12.1 拷贝初始化值的构造函数与缺省拷贝初始化值的构造函数概述 327
12.12 拷贝初始化值的构造函数与缺省拷贝初始化值的构造函数 327
12.12.2 程序设计举例 328
12.12.3 几点说明 331
12.13.1 类的静态数据成员 332
12.13 类的静态数据成员与类的静态函数成员 332
12.13.2 类的静态函数成员 334
12.14.1 类的友元函数 335
12.14 类的友元函数和友元类 335
12.14.2 类的友元类 337
12.15.1 类的作用域 338
12.15 类的作用域、名字空间、局部类与嵌套类 338
12.15.4 嵌套类 339
12.15.3 局部类 339
12.15.2 名字空间 339
12.16.3 程序设计举例 340
12.16.2 各种类对象的生存期 340
12.16 类对象按作用范围的分类与相应的生存期 340
12.16.1 类对象的生存期与按作用范围的分类 340
12.17 含有用户定义构造函数的C++程序设计举例 342
13.1.1 与对象有关的5种指针型变量 345
13.1 对象的指针型变量、对象的引用型变量及其应用 345
第13章 C++语言中的类类型、对象及其应用(二) 345
13.1.2 程序设计举例 349
13.1.3 指向当前对象的隐含式指针型变量this及其应用 353
13.2.1 类类型数组变量的定义、初始化与赋值操作 354
13.2 类类型的数组变量、有关的指针型变量及其应用 354
13.2.2 类类型数组变量的指针型变量及应用 356
13.2.3 类类型的指针型数组变量及其应用 357
13.3.3 结构体类型的变量形式常量 358
13.3.2 基本类型的变量形式常量 358
13.3 各种数据类型的变量形式的常量及其应用 358
13.3.1 变量形式的常量及其分类 358
13.3.4 类类型的变量形式常量 359
13.3.6 结构体类型的指针型变量形式常量 360
13.3.5 基本类型的指针型变量形式常量 360
13.3.7 类类型的指针型变量形式常量 361
13.3.10 类类型的引用型变量形式常量 363
13.3.9 结构体类型的引用型变量形式常量 363
13.3.8 基本类型的引用型变量形式常量 363
13.3.13 程序设计举例 364
13.3.12 类类型中的常函数成员 364
13.3.11 类类型中的常量数据成员 364
13.4.2 类类型函数成员的分类 367
13.4.1 类类型数据成员的分类 367
13.4 含有类类型数据成员的类及应用 367
13.4.3 含有类类型私有数据成员类的构造函数与相应对象的初始化操作 368
13.4.4 程序设计举例 369
13.5.2 用delete运算符进行类类型的动态内存释放 370
13.5.1 用new运算符进行类类型的动态内存分配 370
13.5 类类型变量所需内存的动态分配及应用 370
13.5.3 程序设计举例 371
14.1.1 基类与派生类的概念及派生类的分类 374
14.1 基类(父类)与派生类(子类) 374
第14章 C++语言中类的继承、派生及其应用 374
14.1.3 派生类的3种继承方式及功能 375
14.1.2 派生类的定义语句 375
14.1.4 派生类中各种成员的访问规定 376
14.1.5 基类与派生类的关系 380
14.2.1 程序设计举例 381
14.2 单基类的继承派生类及应用 381
14.2.2 单继承派生类的构造函数 385
14.2.3 单继承派生类的析构函数 387
14.2.4 基类的公有派生类的特点 388
14.3.1 多继承派生类的概念及定义语句 391
14.3 多基类的继承派生类及应用 391
14.3.2 多继承派生类的构造函数与应用举例 392
14.3.3 多继承派生类的二义性问题及解决方法 394
14.4.1 含有一个公共基类时多继承派生类存在的重复继承成员问题 396
14.4 虚基类及应用 396
14.4.2 虚基类的概念及定义语句 397
14.4.4 程序设计举例 398
14.4.3 含有虚基类时多继承派生类的构造函数 398
15.1.2 多态性的分类 400
15.1.1 多态性的概念 400
第15章 C++语言中的多态性与虚函数 400
15.1 多态性、静态联编与动态联编的概念 400
15.2.2 设计运算符重载函数应注意的问题 401
15.2.1 运算符的本质与运算符重载的概念 401
15.1.3 多态性中各同名函数的具体确定方法 401
15.2 运算符重载概述 401
15.2.3 运算符重载函数为类的公有函数成员时的定义语句 402
15.2.4 运算符重载函数为类的友元函数时的定义语句 404
15.2.5 类成员运算符重载函数与类友元运算符重载函数的说明 406
15.3.1 一元算术运算符的重载 407
15.3 C++语言中各种已有运算符的重载 407
15.3.2 二元算术运算符的重载 409
15.3.3 二元位操作运算符的重载 410
15.3.4 逻辑运算符的重载 412
15.3.5 二元关系运算符的重载 413
15.3.6 二元赋值运算符的重载 414
15.3.7 二元下标运算符“[]”的重载 416
15.3.8 二元函数调用运算符“()”的重载 417
15.3.9 二元输出运算符“〈〈”与二元输入运算符“〉〉”的重载 418
15.4.1 虚函数的概念与虚函数声明语句 420
15.4 虚函数及应用 420
15.4.2 程序设计举例 421
15.4.3 在类的构造函数或析构函数中调用虚函数成员 425
15.5.1 纯虚函数的概念与声明语句 426
15.5 纯虚函数与抽象类 426
15.5.3 程序设计举例 428
15.5.2 抽象类的概念及有关说明 428
16.1.1 一个程序设计问题的求解 430
16.1 模板的概念 430
第16章 C++语言中的函数模板、类模板及其应用 430
16.1.2 模板的概念及其分类 433
16.2.1 单参数函数模板的定义语句 434
16.2 函数模板及应用 434
16.2.2 应用单参数函数模板的程序分析 435
16.2.4 应用多参数函数模板的程序分析 436
16.2.3 多参数函数模板的定义语句 436
16.2.5 函数模板重载程序的分析 437
16.3.1 类模板的定义语句 438
16.3 类模板及应用 438
16.3.2 类模板函数成员的类外定义语句 439
16.3.4 使用单参数类模板的程序分析 440
16.3.3 类模板的对象定义语句 440
16.3.5 使用多参数类模板的程序分析 443
16.4.1 类模板的静态数据成员 444
16.4 类模板的静态数据成员与友元函数 444
16.4.2 类模板的友元函数 446
17.1.2 输入输出类族的组成及功能 449
17.1.1 流的概念与输入输出类族 449
第17章 C++语言中的输入与输出操作 449
17.1 输入输出类族概述 449
17.2.2 使用预定义的对象cout和插入运算符“〈〈”进行屏幕输出 450
17.2.1 屏幕非格式化输出的方法 450
17.2 数值型数据、字符串型数据及指针型数据的屏幕非格式化输出 450
17.2.3 使用相应类的函数成员进行屏幕输出 452
17.3.2 使用预定义的对象cin和提取运算符“〉〉”进行键盘输入 454
17.3.1 键盘非格式化输入的方法 454
17.3 数值型数据、字符串型数据的键盘非格式化输入 454
17.3.3 使用相应类的函数成员进行键盘输入 456
17.4.2 程序设计举例 457
17.4.1 C++程序中输入输出数据的类型 457
17.4 输入运算符与输出运算符的重载 457
17.5.1 ios类的作标志字用的公有数据成员及操作此标志字的函数成员 461
17.5 数值型数据与字符串型数据的格式化输出与格式化输入 461
17.5.2 ios类中的格式输出函数成员 464
17.5.3 ios类中的格式输入输出运算符 467
17.6.1 文件的概念与文件的分类 468
17.6 磁盘文件的输入输出(一):磁盘文件的打开与关闭操作 468
17.6.2 字符型数据与数值型数据在磁盘文件中的存储形式 469
17.6.4 C++语言文件处理的全过程 470
17.6.3 C++语言文件的特点 470
17.6.6 磁盘文件的打开操作 471
17.6.5 缓冲文件系统支持下文件输入和输出操作示意 471
17.6.8 程序设计举例 472
17.6.7 磁盘文件的关闭操作 472
17.7.1 建立一个新的文本文件,并用TYPE命令查看其内容 474
17.7 磁盘文件的输入输出(二):文本文件的读写操作 474
17.7.2 显示一个已建立的文本文件的内容,并用TYPE命令查看其内容 475
17.7.3 建立一个文本文件,并将其内容复制到一个新文本文件中 476
17.7.4 建立存放多个字符串的文本文件,升值排序后存入另一文本文件 477
17.8.2 程序设计举例 479
17.8.1 二进制文件读写操作时需要的成员函数 479
17.8 磁盘文件的输入输出(三):顺序二进制文件的读写操作 479
17.9.2 对写指针进行操作的成员函数 481
17.9.1 对读指针进行操作的成员函数 481
17.9 磁盘文件的输入输出(四):随机二进制文件的读写操作 481
17.9.3 程序设计举例 482
主要参考文献 486