1.1 C++语言的发展 1
1.2 C++语言的特点 1
第1章 C++入门基础 1
1.3 C++程序的开发 2
1.4 C++程序的结构 2
1.4.1 C++程序的组成 2
1.4.2 C++程序的书写格式 3
1.4.3 C++程序示例 3
小结与提高 6
思考与练习 6
参考答案 7
2.2.1 字符集 8
2.2.2 标识符 8
2.1 简介 8
2.2 字符集与保留字 8
第2章 数据类型与表达式 8
2.2.3 保留字 9
2.3 数据类型 9
2.3.1 基本数据类型 9
2.3.2 导出类型 10
2.4 常量 10
2.4.1 整型常量 11
2.4.2 实型常量 11
2.4.3 字符常量 11
2.4.4 字符串常量 12
2.5.1 变量的定义 13
2.5 变量 13
2.4.5 逻辑常量 13
2.4.6 地址常量 13
2.5.2 变量的初始化 14
2.5.3 读变量 14
2.6 常见的运算及表达式 14
2.6.1 算术运算及表达式 14
2.6.2 关系运算及表达式 16
2.6.3 逻辑运算及表达式 16
2.6.4 赋值运算及表达式 17
2.6.5 位运算及表达式 17
2.6.6 号运算及表达式 18
2.7 类型转换 19
2.7.2 显式转换 19
2.7.1 隐式转换 19
2.6.8 长度运算及表达式 19
2.6.7 条件运算及表达式 19
小结与提高 20
思考与练习 20
参考答案 22
第3章 结构化程序设计 23
3.1 简介 23
3.2 C++语句 23
3.3 选择结构 26
3.3.1 if选择结构 26
3.3.2 switch选择结构 29
3.3.3 选择的嵌套 32
3.4 循环结构 32
3.4.1 for循环 32
3.4.2 while循环 34
3.4.3 do...while循环 35
3.4.4 循环的嵌套 36
3.4.5 continue和break的使用 38
3.4.6 循环结构总结 39
小结与提高 41
思考与练习 42
参考答案 47
第4章 函数 48
4.1 简介 48
4.2 函数三要素 49
4.2.1 函数声明 51
4.2.2 函数定义 51
4.2.3 函数调用 52
4.3.1 存储类型 53
4.3 存储类型与作用域 53
4.3.2 作用域 54
4.3.3 一元作用域运算符 58
4.4 递归函数 59
4.5 内联函数 60
4.6 带默认参数的函数 61
4.7 重载函数 61
4.8 传值调用和引用参数 62
4.8.1 传值调用 63
4.8.2 引用参数 63
4.9 库函数 66
小结与提高 66
思考与练习 67
参考答案 72
5.2 文件包含 73
5.1 简介 73
第5章 预处理 73
5.3 宏定义 74
5.3.1 不带参数的宏定义 74
5.3.2 带参数的宏定义 75
5.4 条件编译 76
小结与提高 77
思考与练习 77
参考答案 80
第6章 数组 81
6.1 简介 81
6.2 一维数组 81
6.2.1 一维数组的使用 81
6.2.2 函数间传递一维数组 83
6.2.3 一维数组的排序 84
6.3 二维数组 85
6.3.1 二维数组的使用 85
6.3.2 函数间传递二维数组 86
6.4 字符数组与字符串 87
小结与提高 90
思考与练习 90
参考答案 94
第7章 指针 95
7.1 简介 95
7.2 指针的基本应用 96
7.2.1 指针的定义 96
7.2.2 指针的初始化 96
7.2.3 指针的引用 97
7.2.4 函数之间传递指针 97
7.3 指针的运算 98
7.4 指针与const限定符 99
7.5 指针与数组 102
7.5.1 指针与一维数组 102
7.5.2 指针与二维数组 105
7.6 指针数组 109
7.6.1 指针数组的概念 109
7.6.2 函数间传递指针数组 110
7.7 函数指针 112
7.8 返回指针的函数 113
小结与提高 114
思考与练习 115
参考答案 120
8.1 简介 121
第8章 类与对象(一) 121
8.2 类的定义 122
8.2.1 类的数据成员 125
8.2.2 类的成员函数 125
8.2.3 类的访问权限 133
8.3 对象 134
8.3.1 对象的定义和成员引用 135
8.3.2 对象指针和成员引用 135
8.3.3 对象数组 136
8.3.4 对象的生存周期 137
8.4 多文件程序的组织 139
8.5 动态内存分配 141
8.6 对象的赋值运算问题 142
小结与提高 145
思考与练习 146
参考答案 148
第9章 类与对象(二) 149
9.1 简介 149
9.2 const对象与const成员函数 149
9.2.1 const对象 149
9.2.2 const成员函数 150
9.2.3 const数据成员 151
9.3 类的复合:成员对象 152
9.4 友元 155
9.4.1 友元函数 155
9.4.2 友元类 157
9.5 this指针 158
9.6 static类成员 161
9.6.1 static数据成员 161
9.6.2 static成员函数 162
小结与提高 163
思考与练习 164
参考答案 169
第10章 运算符重载 171
10.1 简介 171
10.2 运算符重载的基础 172
10.3 运算符重载的限制 172
10.4 运算符重载函数的定位及调用形式 173
10.4.1 二元运算符 173
10.4.2 一元运算符 176
10.5 转换构造函数 178
10.6 类型转换函数 179
10.7 运算符重载范例 182
小结与提高 185
思考与练习 186
参考答案 187
第11章 继承与派生 188
11.1 简介 188
11.2 继承:基类和派生类 188
11.3 派生类的设计 191
11.4 继承的方式 192
11.4.1 公有继承 192
11.4.2 保护继承 195
11.4.3 私有继承 197
11.5 派生类的构造函数和析构函数 199
11.6 基类与派生类的转换 201
11.7 多重继承 205
11.8 虚基类 207
小结与提高 209
思考与练习 210
参考答案 217
第12章 多态性和虚函数 218
12.1 简介 218
12.2 多态性 218
12.3 虚函数 219
12.4 抽象类与纯虚函数 221
12.5 范例1 222
12.6 范例2 226
小结与提高 229
思考与练习 230
参考答案 233
13.1 简介 234
13.2 函数模板 234
第13章 模板 234
13.3 类模板 236
小结与提高 238
思考与练习 239
参考答案 242
第14章 C++输入/输出流 243
14.1 简介 243
14.2 C++流 243
14.2.1 C++流定义 243
14.2.2 C++流类库 244
14.2.3 预定义流对象 245
14.2.4 流提取运算符“>>”和流插入运算符“<<” 246
14.3 I/O格式控制 246
14.3.1 格式控制标志及其设置 246
14.3.2 使用格式控制符来控制格式 248
14.4 I/O流类的其他成员函数 250
14.5 C++文件流 251
14.5.1 文件与文件流 251
14.5.2 文件的打开与关闭 252
14.5.3 常见文件流操作的成员函数 253
14.5.4 对ASCII文件的操作 255
14.5.5 对二进制文件的操作 257
小结与提高 259
思考与练习 260
参考答案 265
附录A 常用字符与ASCII代码对照表 266
附录B C++运算符与结合性 268
附录C 结构体类型简介 270
参考文献 273