C++程序设计
作者:何历怀
出版社:电子工业出版社
出版时间:2018-08-01
ISBN:9787121343063
定价:¥42.80
第1章 C++语言概述 1
1.1 概述 2
1.1.1 C++的发展史 2
1.1.2 C++的优势 2
1.1.3 对面向对象方法的支持 3
1.2 开发工具 3
1.2.1 常见的C++开发工具 3
1.2.2 Visual C++ 6.0开发环境简介 4
1.2.3 Visual C++ 6.0开发环境的使用 5
1.2.4 Visual C++ 6.0使用示例 8
1.3 程序结构 13
1.3.1 第一个程序 13
1.3.2 文件的组织 15
1.4 编码规范 15
1.4.1 风格指南 15
1.4.2 注释的使用 16
1.4.3 美化代码 17
1.5 标识符 18
1.5.1 保留字 18
1.5.2 标识符命名 19
上机实训 19
本章小结 20
习题 20
第2章 基本数据类型与表达式 21
2.1 C++基本数据类型 22
2.2 变量 23
2.2.1 什么是变量 23
2.2.2 定义变量 23
2.2.3 为变量赋初值 24
2.3 常量 25
2.3.1 数值常量 25
2.3.2 字符常量 27
2.3.3 符号常量 29
2.3.4 常变量 30
2.4 运算符和表达式 31
2.4.1 赋值操作符 31
2.4.2 数学运算符 32
2.4.3 位操作符 32
2.4.4 复合赋值操作符 33
2.4.5 增1减1操作符 34
2.4.6 关系运算符 34
2.4.7 逻辑运算符(!, &&, ||) 35
2.4.8 条件运算符(?) 36
2.4.9 逗号运算符(,) 37
2.4.10 变量类型转换运算符 37
2.4.11 sizeof() 37
2.4.12 其他运算符 37
2.4.13 运算符的优先度Precedence of operators 38
上机实训 39
一、项目描述 39
二、项目要求 39
本章小结 39
习题 40
第3章 C++程序的流程控制 43
3.1 顺序控制语句 44
3.2 条件分支结构 49
3.2.1 if语句 49
3.2.2 if语句的嵌套 51
3.2.3 if多分支结构 52
3.2.4 switch语句和switch多分支结构 54
3.3 循环结构 57
3.3.1 for循环 57
3.3.2 循环结构的特殊控制:break和continue的使用 60
3.3.3 while循环 64
3.3.4 do…while循环 65
上机实训 67
一、项目描述 67
二、项目要求 68
本章小结 68
习题 69
第4章 C++函数 73
4.1 函数的定义 74
4.1.1 如何定义和使用函数 74
4.1.2 系统函数 76
4.1.3 函数的声明和定义 78
4.1.4 主函数main() 83
4.1.5 函数调用格式及调用方式 84
4.2 函数存在的意义、为什么要使用函数 84
4.3 函数重载 85
4.4 函数的默认参数 87
4.4.1 定义默认参数的顺序 88
4.4.2 默认参数和重载函数的混淆 89
4.5 C++中函数变量的引用 89
4.5.1 引用 89
4.5.2 用引用传递参数 90
4.6 C++函数的递归调用 92
4.7 内嵌函数 93
4.8 函数和变量的作用域 94
4.8.1 C++的存储属性 94
4.8.2 函数的作用域 96
4.8.3 变量的作用域和生存期 96
4.8.4 C++变量的可见性 101
4.9 编译预处理 102
*4.10 函数模板 104
上机实训 105
一、项目描述 105
二、项目要求 105
本章小结 106
习题 106
第5章 数组 109
5.1 C++数组的声明和初始化 110
5.1.1 一维数组的声明 110
5.1.2 数组的初始化 110
5.1.3 引用一维数组的元素 111
5.1.4 一维数组程序举例 112
5.1.5 C++省略数组大小的写法 114
5.2 C++数组的存储 114
5.2.1 内存和地址 114
5.2.2 数组在内存中的存储情况 115
5.2.3 字符的存储情况 116
5.2.4 字符数组在内存中的存储情况 117
5.3 二维数组的定义和引用 118
5.3.1 二维数组的定义 119
5.3.2 二维数组的引用 120
5.3.3 二维数组的初始化 121
5.3.4 二维数组程序举例 122
5.4 用数组名作函数参数 123
5.4.1 用数组元素作函数实参 124
5.4.2 用数组名作函数参数 124
上机实训 126
一、项目描述 126
二、项目要求 126
本章小结 126
习题 127
第6章 指针 129
6.1 指针的概念和指针变量的定义 130
6.1.1 指针的概念 130
6.1.2 指针变量的定义及初始化 131
6.2 C++指针的操作和运算 134
6.2.1 指针的加减运算 134
6.2.2 指针的关系运算 135
6.3 C++指针与保护 135
6.3.1 对内存只读的指针 135
6.3.2 指针型常量 135
6.4 C++指针与数组 136
6.4.1 数组名的实质 136
6.4.2 指针数组 137
6.4.3 应用举例 137
6.5 C++指针与函数 139
6.5.1 指针作为参数 140
6.5.2 指针作为返回值 141
6.6 C++堆内存空间 142
6.6.1 如何获得堆内存空间 142
6.6.2 释放内存 142
上机实训 144
一、项目描述 144
二、项目要求 144
本章小结 144
习题 145
第7章 自定义数据类型 147
7.1 枚举类型 148
7.2 结构体 150
7.3 结构体与函数 153
7.3.1 结构作为参数 153
7.3.2 结构作为返回值 154
7.4 结构数组与结构指针 155
7.4.1 结构数组 155
7.4.2 结构指针 155
上机实训 156
一、项目描述 156
二、项目要求 157
本章小结 157
习题 157
第8章 面向对象程序设计基础 159
8.1 面向对象的思想 160
8.1.1 结构化程序设计 160
8.1.2 面向对象程序设计 160
8.2 面向对象程序设计的基本概念 161
8.2.1 对象与类 161
8.2.2 消息 163
8.2.3 抽象性 164
8.2.4 封装性 164
8.2.5 继承性 165
8.2.6 多态性 166
上机实训 166
一、项目描述 166
二、项目要求 167
本章小结 167
习题 167
第9章 类和对象的创建 168
9.1 类和对象 169
9.1.1 类的声明及成员的访问控制 169
9.1.2 类的成员函数 170
9.1.3 对象的定义和引用 173
9.2 构造函数和析构函数 177
9.2.1 构造函数 177
9.2.2 带有默认参数的构造函数 180
9.2.3 析构函数 181
9.2.4 构造函数的重载 182
9.2.5 拷贝构造函数 183
9.2.6 类对象作为成员 187
9.3 对象数组与对象指针 188
9.3.1 对象数组 188
9.3.2 对象指针 190
9.3.3 指向对象本身的指针this 192
9.3.4 为对象动态分配内存 193
9.4 对象作为函数的参数 194
9.5 静态成员 195
9.5.1 静态数据成员 195
9.5.2 静态成员函数 196
9.6 友元 198
9.6.1 友元函数 198
9.6.2 友元成员 200
9.6.3 友元类 202
上机实训 203
一、项目描述 203
二、项目要求 204
本章小结 204
习题 205
第10章 类的继承与派生、多态与虚函数 208
10.1 类的层次与继承性 209
10.2 派生类 209
10.2.1 派生类的声明 209
10.2.2 派生类的访问权限 210
10.3 派生类的构造函数和析构函数 216
10.3.1 派生类构造函数和析构函数的执行顺序 216
10.3.2 派生类构造函数和析构函数的构建 216
10.4 多重继承 218
10.4.1 多重继承的概念 218
10.4.2 多重继承的声明 220
10.4.3 多重继承的构造函数和析构函数 220
10.4.4 虚基类 222
10.5 多态性 226
10.6 函数重载 227
10.7 运算符重载 228
10.7.1 运算符重载的基本概念 228
10.7.2 运算符重载为类的成员函数―成员运算符函数 229
10.7.3 运算符重载为类的友元函数―友元运算符函数 231
10.7.4 成员运算符函数与友元运算符函数的比较 234
10.7.5 “++”和“--”的重载 234
10.7.6 赋值运算符“=”的重载 234
10.7.7 函数调用运算符“()”的重载 235
10.7.8 下标运算符“[ ]”的重载 235
10.7.9 类类型转换函数 235
10.8 虚函数 236
10.8.1 虚函数的引入 236
10.8.2 虚函数的定义和使用 237
10.8.3 虚函数的限制 239
10.9 抽象类 239
10.9.1 纯虚函数 239
10.9.2 抽象类 240
上机实训 240
一、项目描述 240
二、项目要求 240
本章小结 240
习题 241
第11章 流类库和输入/输出 245
11.1 输入/输出流的概念 246
11.2 流类库 246
11.3 输入/输出的格式控制 248
11.3.1 用ios类的成员函数进行格式控制 248
11.3.2 使用格式控制符进行格式控制 252
11.4 用户自定义数据类型的输入/输出 255
11.4.1 重载输出运算符“<<” 255
11.4.2 重载输入运算符“>>” 256
11.5 文件的输入/输出 257
11.5.1 文件的打开与关闭 257
11.5.2 文件的读写 258
11.6 应用举例 263
上机实训 265
一、项目描述 265
二、项目要求 265
本章小结 265
习题 266
参考文献 268