C++程序设计基础(第6版)
定价:¥69.00
作者: 周霭如
出版时间:2025-08
出版社:电子工业出版社
- 电子工业出版社
- 9787121412752
- 6版
- 403080
- 60266823-8
- 平塑
- 16开
- 2025-08
- 670
- 364
- 工学
- 计算机类
- 计算机科学与技术
- 本科 研究生及以上
目录
第1章 简单程序与基本数据类型 1
1.1 概述 1
1.1.1 程序设计与程序设计语言 1
1.1.2 一个简单的C++程序 2
1.1.3 程序的编译执行 4
1.2 C++语言的字符集与词汇 5
1.2.1 字符集 5
1.2.2 词汇 6
1.3 C++语言的基本数据类型与存储形式 7
1.3.1 C++语言的数据类型 7
1.3.2 数据存储 7
1.3.3 基本数据类型 8
1.4 数据对象与访问 11
1.4.1 变量定义 11
1.4.2 访问变量 12
1.4.3 常量与约束访问 16
1.5 数据输入与数据输出 19
1.5.1 键盘输入 19
1.5.2 屏幕输出 19
习题 20
第2章 程序控制结构 21
2.1 表达式 21
2.1.1 运算符 21
2.1.2 算术表达式 23
2.1.3 逻辑表达式 25
2.1.4 赋值表达式 26
2.1.5 条件表达式 27
2.1.6 逗号表达式 28
2.1.7 表达式语句 28
2.2 选择控制 29
2.2.1 if语句 29
2.2.2 switch语句 33
2.3 循环控制 37
2.3.1 while语句 38
2.3.2 do-while语句 41
2.3.3 for语句 44
2.3.4 循环的嵌套 48
2.4 判断表达式的使用 50
2.5 转向语句 52
习题 54
第3章 函数 56
3.1 函数的定义与调用 56
3.1.1 函数定义 56
3.1.2 函数调用 57
3.1.3 函数原型 57
3.2 函数参数的传递 59
3.2.1 传值参数 59
3.2.2 指针参数 63
3.2.3 引用参数 64
3.2.4 函数的返回类型 66
3.3 函数调用机制 69
3.3.1 嵌套调用 69
3.3.2 递归调用 70
3.4 函数地址与函数指针 75
3.4.1 函数地址 75
3.4.2 函数指针 76
3.5 内联函数与重载函数 80
3.5.1 内联函数 80
3.5.2 重载函数 81
3.6 变量存储特性与标识符作用域 82
3.6.1 存储特性 82
3.6.2 标识符的作用域与可见性 83
3.7 多文件程序 86
3.7.1 多文件结构 86
3.7.2 预处理指令 87
3.7.3 多文件程序使用全局变量 91
3.8 命名空间 92
3.8.1 标准命名空间 92
3.8.2 定义命名空间 93
3.8.3 使用命名空间 94
3.9 终止程序执行 96
习题 97
第4章 数组 100
4.1 一维数组 100
4.1.1 一维数组的定义与初始化 100
4.1.2 一维数组的访问 102
4.2 指针数组 104
4.2.1 指向基本数据类型的指针
数组 105
4.2.2 指向数组的指针数组 105
4.2.3 指向函数的指针数组 106
4.3 二维数组 107
4.3.1 二维数组的定义与初始化 107
4.3.2 二维数组的访问 108
4.4 数组作为函数参数 111
4.4.1 向函数传送数组元素 111
4.4.2 数组名作为函数参数 112
4.4.3 应用举例 114
4.5 动态存储 118
4.5.1 new与delete操作符 118
4.5.2 动态存储的应用 118
4.6 vector类 121
4.7 字符串 123
4.7.1 C字符串 123
4.7.2 string类 127
习题 132
第5章 集合与结构 134
5.1 位运算 134
5.2 集合 139
5.2.1 集合的基本运算 139
5.2.2 集合运算的实现 140
5.3 结构 146
5.3.1 定义结构 146
5.3.2 访问结构 147
5.3.3 结构参数 149
5.4 结构数组 151
5.5 链表 154
习题 162
第6章 类与对象 165
6.1 类与对象的定义和访问 165
6.1.1 定义类与对象 166
6.1.2 访问对象成员 168
6.1.3 this指针 169
6.2 构造函数与析构函数 169
6.2.1 简单构造函数与析构函数 170
6.2.2 带参数的构造函数 171
6.2.3 重载构造函数 172
6.2.4 拷贝构造函数 173
6.3 类的其他成员 178
6.3.1 常成员 178
6.3.2 静态成员 181
6.3.3 友元 184
6.4 类的包含 187
习题 190
第7章 运算符重载 192
7.1 运算符重载规则 192
7.1.1 重载运算符的限制 192
7.1.2 重载运算符的语法 192
7.2 用成员或友元函数重载
运算符 194
7.2.1 用成员函数重载运算符 195
7.2.2 用友元函数重载运算符 197
7.3 几个典型运算符的重载 199
7.3.1 重载++与--运算符 199
7.3.2 重载赋值运算符 201
7.3.3 重载[ ]与运算符 202
7.3.4 重载流插入与流提取
运算符 203
7.4 类类型转换 211
7.4.1 使用构造函数 211
7.4.2 使用类型转换函数 212
习题 215
第8章 继承 217
8.1 类之间的关系 217
8.2 基类与派生类 218
8.2.1 访问控制 218
8.2.2 重名成员 225
8.2.3 派生类中访问静态成员 227
8.3 基类的初始化 228
8.4 继承的应用实例 230
8.5 多继承 235
8.5.1 多继承的派生类构造与访问 236
8.5.2 虚继承 238
习题 242
第9章 虚函数与多态性 245
9.1 静态联编 245
9.2 类指针的关系 246
9.2.1 用基类指针引用派生类对象 246
9.2.2 用派生类指针引用基类对象 247
9.3 虚函数与动态联编 249
9.3.1 虚函数与基类指针 249
9.3.2 虚函数的重载特性 252
9.3.3 虚析构函数 254
9.4 纯虚函数与抽象类 255
9.4.1 纯虚函数 256
9.4.2 抽象类 257
9.5 虚函数与多态性的应用 259
9.5.1 一个实例 259
9.5.2 异质链表 264
习题 266
第10章 模板 267
10.1 什么是模板 267
10.2 函数模板 267
10.2.1 模板说明 267
10.2.2 函数模板与模板函数 268
10.2.3 重载函数模板 270
10.3 类模板 271
10.3.1 类模板与模板类 2
1.1 概述 1
1.1.1 程序设计与程序设计语言 1
1.1.2 一个简单的C++程序 2
1.1.3 程序的编译执行 4
1.2 C++语言的字符集与词汇 5
1.2.1 字符集 5
1.2.2 词汇 6
1.3 C++语言的基本数据类型与存储形式 7
1.3.1 C++语言的数据类型 7
1.3.2 数据存储 7
1.3.3 基本数据类型 8
1.4 数据对象与访问 11
1.4.1 变量定义 11
1.4.2 访问变量 12
1.4.3 常量与约束访问 16
1.5 数据输入与数据输出 19
1.5.1 键盘输入 19
1.5.2 屏幕输出 19
习题 20
第2章 程序控制结构 21
2.1 表达式 21
2.1.1 运算符 21
2.1.2 算术表达式 23
2.1.3 逻辑表达式 25
2.1.4 赋值表达式 26
2.1.5 条件表达式 27
2.1.6 逗号表达式 28
2.1.7 表达式语句 28
2.2 选择控制 29
2.2.1 if语句 29
2.2.2 switch语句 33
2.3 循环控制 37
2.3.1 while语句 38
2.3.2 do-while语句 41
2.3.3 for语句 44
2.3.4 循环的嵌套 48
2.4 判断表达式的使用 50
2.5 转向语句 52
习题 54
第3章 函数 56
3.1 函数的定义与调用 56
3.1.1 函数定义 56
3.1.2 函数调用 57
3.1.3 函数原型 57
3.2 函数参数的传递 59
3.2.1 传值参数 59
3.2.2 指针参数 63
3.2.3 引用参数 64
3.2.4 函数的返回类型 66
3.3 函数调用机制 69
3.3.1 嵌套调用 69
3.3.2 递归调用 70
3.4 函数地址与函数指针 75
3.4.1 函数地址 75
3.4.2 函数指针 76
3.5 内联函数与重载函数 80
3.5.1 内联函数 80
3.5.2 重载函数 81
3.6 变量存储特性与标识符作用域 82
3.6.1 存储特性 82
3.6.2 标识符的作用域与可见性 83
3.7 多文件程序 86
3.7.1 多文件结构 86
3.7.2 预处理指令 87
3.7.3 多文件程序使用全局变量 91
3.8 命名空间 92
3.8.1 标准命名空间 92
3.8.2 定义命名空间 93
3.8.3 使用命名空间 94
3.9 终止程序执行 96
习题 97
第4章 数组 100
4.1 一维数组 100
4.1.1 一维数组的定义与初始化 100
4.1.2 一维数组的访问 102
4.2 指针数组 104
4.2.1 指向基本数据类型的指针
数组 105
4.2.2 指向数组的指针数组 105
4.2.3 指向函数的指针数组 106
4.3 二维数组 107
4.3.1 二维数组的定义与初始化 107
4.3.2 二维数组的访问 108
4.4 数组作为函数参数 111
4.4.1 向函数传送数组元素 111
4.4.2 数组名作为函数参数 112
4.4.3 应用举例 114
4.5 动态存储 118
4.5.1 new与delete操作符 118
4.5.2 动态存储的应用 118
4.6 vector类 121
4.7 字符串 123
4.7.1 C字符串 123
4.7.2 string类 127
习题 132
第5章 集合与结构 134
5.1 位运算 134
5.2 集合 139
5.2.1 集合的基本运算 139
5.2.2 集合运算的实现 140
5.3 结构 146
5.3.1 定义结构 146
5.3.2 访问结构 147
5.3.3 结构参数 149
5.4 结构数组 151
5.5 链表 154
习题 162
第6章 类与对象 165
6.1 类与对象的定义和访问 165
6.1.1 定义类与对象 166
6.1.2 访问对象成员 168
6.1.3 this指针 169
6.2 构造函数与析构函数 169
6.2.1 简单构造函数与析构函数 170
6.2.2 带参数的构造函数 171
6.2.3 重载构造函数 172
6.2.4 拷贝构造函数 173
6.3 类的其他成员 178
6.3.1 常成员 178
6.3.2 静态成员 181
6.3.3 友元 184
6.4 类的包含 187
习题 190
第7章 运算符重载 192
7.1 运算符重载规则 192
7.1.1 重载运算符的限制 192
7.1.2 重载运算符的语法 192
7.2 用成员或友元函数重载
运算符 194
7.2.1 用成员函数重载运算符 195
7.2.2 用友元函数重载运算符 197
7.3 几个典型运算符的重载 199
7.3.1 重载++与--运算符 199
7.3.2 重载赋值运算符 201
7.3.3 重载[ ]与运算符 202
7.3.4 重载流插入与流提取
运算符 203
7.4 类类型转换 211
7.4.1 使用构造函数 211
7.4.2 使用类型转换函数 212
习题 215
第8章 继承 217
8.1 类之间的关系 217
8.2 基类与派生类 218
8.2.1 访问控制 218
8.2.2 重名成员 225
8.2.3 派生类中访问静态成员 227
8.3 基类的初始化 228
8.4 继承的应用实例 230
8.5 多继承 235
8.5.1 多继承的派生类构造与访问 236
8.5.2 虚继承 238
习题 242
第9章 虚函数与多态性 245
9.1 静态联编 245
9.2 类指针的关系 246
9.2.1 用基类指针引用派生类对象 246
9.2.2 用派生类指针引用基类对象 247
9.3 虚函数与动态联编 249
9.3.1 虚函数与基类指针 249
9.3.2 虚函数的重载特性 252
9.3.3 虚析构函数 254
9.4 纯虚函数与抽象类 255
9.4.1 纯虚函数 256
9.4.2 抽象类 257
9.5 虚函数与多态性的应用 259
9.5.1 一个实例 259
9.5.2 异质链表 264
习题 266
第10章 模板 267
10.1 什么是模板 267
10.2 函数模板 267
10.2.1 模板说明 267
10.2.2 函数模板与模板函数 268
10.2.3 重载函数模板 270
10.3 类模板 271
10.3.1 类模板与模板类 2














