第1章 C++概述 1
1.1 C++语言简介 1
1.2本章知识目标 2
1.3程序 3
1.4 C++程序基本结构 3
1.5 C++程序的调试与运行 4
1.5.1用Visual C++开发环境运行程序 5
1.5.2用VS建立C++控制台程序 9
1.6本章实践任务 12
1.6.1任务需求说明 12
1.6.2技能训练要点 12
1.6.3任务实现 12
本章小结 13
课后练习 13
第2章 C++程序设计基础 15
2.1本章简介 15
2.2本章知识目标 15
2.3数据类型 16
2.4关键字与标识符 17
2.5变量与常量 18
2.5.1变量 18
2.5.2常量 19
2.6数据的输入与输出 22
2.6.1数据的输出 22
2.6.2数据的输入 24
2.7运算符与表达式 25
2.7.1算术运算符及算术表达式 26
2.7.2关系运算符及关系表达式 26
2.7.3逻辑运算符及逻辑表达式 28
2.7.4赋值运算符及赋值表达式 29
2.7.5逗号运算符及逗号表达式 30
2.7.6自增、自减运算符及表达式 30
2.7.7 sizeof运算符 32
2.8类型转换 32
2.8.1自动类型转换 33
2.8.2强制类型转换 33
2.9流程控制 34
2.9.1选择结构语句 34
2.9.2循环结构语句 39
2.9.3跳转语句 46
2.10构造数据类型 48
2.10.1数组 48
2.10.2结构体 62
2.10.3枚举类型 69
2.11本章任务实践 70
2.11.1任务需求说明 70
2.11.2技能训练要点 70
2.11.3任务实现 70
本章小结 71
课后练习 71
第3章 函数 78
3.1本章简介 78
3.2本章知识目标 78
3.3函数定义 78
3.3.1函数定义格式 78
3.3.2函数的形参、实参和返回值 79
3.4函数调用 80
3.5具有缺省参数值的函数 81
3.6函数的原型说明 82
3.7函数的嵌套与递归调用 83
3.7.1函数的嵌套调用 83
3.7.2函数的递归调用 84
3.8内联函数 86
3.9函数的重载 87
3.10函数与数组 88
3.10.1数组元素作函数的参数 88
3.10.2数组名作函数的参数 89
3.11变量的作用域与存储属性 91
3.11.1局部变量 91
3.11.2全局变量 92
3.11.3 C++的存储属性 93
3.12编译预处理 94
3.12.1文件包含 94
3.12.2宏 95
3.12.3条件编译 99
3.13本章任务实践 100
3.13.1任务需求说明 100
3.13.2技能训练要点 101
3.13.3任务实现 102
本章小结 107
课后练习 107
第4章 指针和引用 113
4.1本章简介 113
4.2本章知识目标 113
4.3指针与指针变量 113
4.4指针运算 116
4.4.1赋值运算 116
4.4.2关系运算 117
4.4.3算术运算 117
4.5指针与数组 118
4.5.1指针与一维数组 118
4.5.2指针与二维数组 121
4.5.3指向整个一维数组的指针变量 123
4.5.4指针与字符串 124
4.6指针数组 126
4.7指向指针的指针变量 128
4.8指针与函数 129
4.8.1返回值为指针的函数 129
4.8.2指向函数的指针 129
4.8.3函数调用的参数传递方式 129
4.8.4指针或数组名作为函数参数 133
4.9动态分配内存空间 134
4.10链表 137
4.11本章任务实践 145
4.11.1任务需求说明 145
4.11.2技能训练要点 149
4.11.3任务实现 149
本章小结 156
课后练习 156
第5章 类和对象 162
5.1本章简介 162
5.1.1软件开发方法 162
5.1.2面向对象方法的由来和发展 162
5.1.3面向对象语言 163
5.2本章知识目标 164
5.3对象和类 164
5.3.1对象和类的概念 164
5.3.2类的确定和划分 165
5.4类的声明 166
5.5构造函数和析构函数 169
5.5.1构造函数 169
5.5.2拷贝构造函数 170
5.5.3构造函数的重载 173
5.5.4析构函数 174
5.6对象应用 177
5.6.1成员对象 177
5.6.2对象数组 179
5.6.3对象指针 180
5.7静态成员 181
5.7.1静态成员数据 182
5.7.2静态成员函数 183
5.8友元函数和友元类 184
5.8.1友元函数 184
5.8.2友元成员 187
5.8.3友元类 188
5.9本章任务实践 190
5.9.1任务需求说明 190
5.9.2技能训练要点 191
5.9.3任务实现 191
本章小结 198
课后练习 199
第6章 继承和多态 204
6.1本章简介 204
6.2本章知识目标 204
6.3继承的基本知识 205
6.3.1基类与派生类的定义 205
6.3.2三种继承方式 207
6.4单一继承与多重继承 211
6.4.1多重继承派生类构造函数的构建 211
6.4.2多重继承派生类析构函数的构建 214
6.4.3多重继承的二义性 215
6.5多态性 219
6.5.1编译时多态和运行时多态 219
6.5.2虚函数 219
6.6抽象类 223
6.6.1纯虚函数 223
6.6.2抽象类及使用 223
6.7本章任务实践 225
6.7.1任务需求说明 225
6.7.2技能训练要点 225
6.7.3任务实现 226
本章小结 229
课后练习 229
第7章 运算符重载 236
7.1本章简介 236
7.2本章知识目标 236
7.3运算符重载的概念与规则 236
7.3.1运算符重载的概念 236
7.3.2运算符重载的规则 237
7.4运算符重载为类的成员函数和友元函数 237
7.4.1运算符重载为类的成员函数 237
7.4.2运算符重载为类的友元函数 239
7.5“++”和“-”的重载 240
7.6流插入运算符和流提取运算符的重载 243
7.7转换函数 244
7.8本章任务实践 246
7.8.1任务需求说明 246
7.8.2技能训练要点 246
7.8.3任务实现 247
本章小结 249
课后练习 250
第8章 文件与流类库 255
8.1本章简介 255
8.2本章知识目标 255
8.3输入输出流 255
8.3.1输入输出流的含义 255
8.3.2 C++的基本流类体系 256
8.3.3标准的输入输出流 256
8.4文件操作 257
8.4.1文件输入输出流 257
8.4.2文件关联与打开 257
8.4.3文件关闭 258
8.5文件读写 258
8.5.1文本文件的读写 258
8.5.2二进制文件的读写 259
8.5.3文件的随机读写 262
8.6本章任务实践 265
8.6.1任务需求说明 265
8.6.2技能训练要点 265
8.6.3任务实现 266
本章小结 277
课后练习 277
第9章 模板与异常处理 281
9.1本章简介 281
9.2本章知识目标 281
9.3模板 281
9.3.1模板的概念 281
9.3.2函数模板 282
9.3.3类模板 284
9.4异常处理 288
9.4.1异常处理概述 288
9.4.2异常处理的实现 289
9.5本章任务实践 291
9.5.1任务需求说明 291
9.5.2技能训练要点 291
9.5.3任务实现 291
本章小结 293
课后练习 294
第10章 使用MFC开发应用系统 298
10.1本章简介 298
10.2本章知识目标 298
10.3 MFC类及应用程序框架 298
10.3.1 MFC应用程序概述 298
10.3.2 MFC类的层次结构 299
10.3.3 MFC应用程序框架 300
10.4消息与命令的处理 307
10.5 MFC对话框和常用控件 315
10.5.1对话框分类 315
10.5.2对话框编辑器和控件 315
10.6 Access数据库 328
10.6.1 Access简介 329
10.6.2 Access数据库的基本操作 329
10.7 MFC ODBC数据库连接 344
10.7.1 MFC ODBC的构成 344
10.7.2 MFC ODBC类 345
10.7.3 MFC ODBC数据库操作 348
10.8本章实践任务 360
10.8.1任务需求说明 360
10.8.2技能训练要点 360
10.8.3任务实现 360
本章小结 373
课后练习 373
附录A ASCII表 375
附录B 运算符优先级与结合性表 376
附录C 常用典型类库函数 377
参考文献 380