本书全面介绍了有关C++程序设计的知识,包括C++入门、基本数据类型与表达式、语句与结构化程序设计、数组与字符串、函数、指针、自定义数据类型、C++程序结构、类和对象、继承与派生、运算符重载、多态与虚函数、模板、输入输出流和文件、异常处理、综合实例、集成开发环境等内容。
内容简介
本书全面介绍了有关C++程序设计的知识,包括C++入门、基本数据类型与表达式、语句与结构化程序设计、数组与字符串、函数、指针、自定义数据类型、C++程序结构、类和对象、继承与派生、运算符重载、多态与虚函数、模板、输入输出流和文件、异常处理、综合实例、集成开发环境等内容。通过本书,读者可以学习程序设计知识、掌握程序设计方法、提高程序设计能力、形成程序设计风格、培养程序设计思维,并为进一步深入学习后续专业课程,提高综合素质和能力奠定良好的基础。本书既可作为高等学校计算机及相关专业程序设计课程的教材,也可作为自学程序设计的参考书。
图书目录
第1章C++入门1
1.1C++简介1
1.1.1C++的产生与发展1
1.1.2C++的特点2
1.2简单的C++程序3
1.2.1C++程序结构3
1.2.2输入与输出5
1.2.3注释6
1.3C++程序的上机执行过程7
1.4程序设计语言介绍8
1.4.1机器语言8
1.4.2汇编语言9
1.4.3高级语言10
习题113第2章基本数据类型与表达式14
2.1字符集与标识符14
2.1.1字符集14
2.1.2标识符14
2.1.3关键字15
2.2基本数据类型16
2.2.1整型16
2.2.2字符型16
2.2.3布尔型17
2.2.4浮点型17
2.3常量18
2.3.1数值型常量18
2.3.2字符型常量19
2.4变量20
2.4.1变量的定义20
2.4.2常变量21
2.5运算符与表达式23
2.5.1算术运算符与算术表达式23
2.5.2赋值运算符与赋值表达式24
2.5.3逗号运算符与逗号表达式24
2.5.4自增自减运算符25
2.5.5类型转换25
2.5.6位运算符与位运算表达式27
2.6计算机中的数据表示29
2.6.1计算机中的数制29
2.6.2数值型数据的表示31
2.6.3字符型数据的编码表示33
习题233第3章语句与结构化程序设计34
3.1功能语句与顺序结构程序设计34
3.1.1赋值语句34
3.1.2空语句34
3.1.3复合语句34
3.1.4顺序结构程序设计34
3.2分支语句与分支结构程序设计35
3.2.1关系表达式和逻辑表达式35
3.2.2if语句38
3.2.3if…else语句38
3.2.4条件运算符与条件表达式40
3.2.5switch语句41
3.3循环语句与循环结构程序设计42
3.3.1for循环语句43
3.3.2do…while循环语句45
3.3.3while循环语句47
3.3.4循环语句的嵌套48
3.4转移语句49
3.4.1break语句49
3.4.2continue语句49
3.4.3goto语句50
3.5程序举例51
3.6算法与程序设计58
3.6.1算法设计与分析58
3.6.2程序设计风格61
习题362第4章数组与字符串63
4.1数组的定义与使用63
4.1.1一维数组的定义与使用63
4.1.2二维数组的定义与使用64
4.2数组的初始化66
4.3数组应用举例67
4.3.1一维数组应用68
4.3.2二维数组应用73
4.4字符串76
4.4.1字符串变量的定义与使用76
4.4.2字符串变量的输入输出77
4.4.3字符串运算78
4.4.4字符串数组79
4.5字符数组81
4.6动态数组82
4.7静态数组访问的下标越界问题84
习题485第5章函数86
5.1函数定义86
5.2函数调用与函数声明87
5.2.1函数调用87
5.2.2函数声明88
5.3函数的参数传递90
5.3.1值传递90
5.3.2引用传递91
5.3.3函数的默认形参值92
5.4函数的嵌套与递归93
5.4.1函数嵌套94
5.4.2函数递归94
5.5数组作函数参数97
5.5.1数组元素作函数参数97
5.5.2一维数组名作函数参数98
5.5.3二维数组名作函数参数99
5.6内联函数100
5.7重载函数101
5.8系统函数103
习题5104第6章指针106
6.1指针变量106
6.1.1内存单元地址106
6.1.2指针变量的定义107
6.2指针的赋值与运算107
6.2.1指针的赋值107
6.2.2指针的运算108
6.3指针作为函数参数110
6.4指针与数组111
6.4.1数组的地址111
6.4.2指针与一维数组111
6.4.3指针与二维数组112
6.4.4指针数组114
6.5动态内存分配116
6.6函数指针119
习题6122
第7章自定义数据类型123
7.1结构体类型123
7.1.1结构体类型的定义123
7.1.2结构体变量的定义与初始化124
7.1.3结构体变量的引用125
7.2结构体应用127
7.2.1结构体数组127
7.2.2结构体和指针129
7.2.3结构体和函数131
7.3共用体134
7.3.1共用体的定义135
7.3.2共用体的应用136
7.4链表137
7.4.1线性表137
7.4.2线性链表138
7.4.3线性链表的操作139
7.5枚举类型144
7.5.1枚举类型和枚举变量的定义144
7.5.2枚举变量的赋值和引用145
7.5.3枚举变量值的输入与输出145
习题7147第8章C++程序结构149
8.1C++程序构成149
8.2预处理命令150
8.2.1宏定义150
8.2.2文件包含151
8.2.3条件编译153
8.3变量的作用域156
8.3.1局部变量156
8.3.2全局变量156
8.4变量的存储类别157
8.4.1局部自动变量158
8.4.2局部寄存器变量159
8.4.3局部静态变量159
8.4.4外部变量声明160
8.5内部函数与外部函数162
8.5.1内部函数162
8.5.2外部函数163
习题8164第9章类和对象165
9.1面向对象程序设计概述165
9.1.1面向对象的概念165
9.1.2面向对象程序设计的特点165
9.1.3面向对象与面向过程的区别166
9.2类和对象167
9.2.1类的定义167
9.2.2对象的定义170
9.2.3对象成员的访问171
9.3构造函数173
9.3.1不带参数的构造函数173
9.3.2带参数的构造函数174
9.3.3带默认值的构造函数175
9.3.4带初始化表的构造函数176
9.3.5构造函数的重载178
9.4析构函数180
9.5复制构造函数183
9.5.1对象的赋值183
9.5.2对象的复制184
9.6对象数组188
9.7const对象和const成员190
9.8成员函数存储与this指针192
9.9类静态成员194
9.9.1静态数据成员194
9.9.2静态成员函数195
9.10友元函数与友元类197
9.10.1友元函数199
9.10.2友元类201
习题9202第10章继承与派生203
10.1继承与派生的概念203
10.2派生类的声明204
10.2.1派生类的声明204
10.2.2派生类的构成205
10.3派生类成员的访问特性207
10.3.1公有继承207
10.3.2私有继承208
10.3.3保护继承208
10.3.4多级派生时的访问特性209
10.4派生类的构造函数和析构函数212
10.4.1简单派生类的构造函数213
10.4.2有子对象的派生类的构造函数215
10.4.3派生类的析构函数216
10.5基类与派生类的转换218
10.5.1派生类对象的值可以赋给基类对象218
10.5.2派生类对象可以作为基类对象使用219
10.6类的继承与组合220
10.7继承在软件开发中的作用221
10.8多基类继承224
10.8.1定义多基类继承224
10.8.2多继承派生类的构造函数226
10.8.3基类成员名冲突227
10.8.4虚基类228
习题10232第11章运算符重载233
11.1运算符重载的实现233
11.2运算符重载规则237
11.3运算符重载函数238
11.4重载流插入和流提取运算符241
11.5数据的类型转换244
11.5.1用转换构造函数实现类型转换245
11.5.2用类型转换函数实现类型转换247
习题11250第12章多态与虚函数251
12.1多态性和绑定251
12.2虚函数254
12.2.1虚函数的定义254
12.2.2虚析构函数255
12.3纯虚函数与抽象类257
12.3.1纯虚函数257
12.3.2抽象类260
12.4动态绑定与虚函数表263
12.4.1多态类与非多态类263
12.4.2动态绑定的实现265
习题12267第13章模板268
13.1模板的引入268
13.2函数模板269
13.2.1函数模板的定义269
13.2.2函数模板的调用269
13.2.3函数模板的重载271
13.3类模板274
13.3.1类模板的定义和使用274
13.3.2类模板的继承275
13.4类模板应用275
13.4.1数组类模板275
13.4.2线性链表类模板278
习题13281第14章输入输出流和文件282
14.1输入输出与流282
14.2C++的流类和流对象283
14.3标准输入输出流283
14.3.1标准输出流284
14.3.2标准输入流285
14.3.3流成员函数287
14.4设定输入输出格式290
14.5文件处理294
14.5.1文件的打开和关闭294
14.5.2对ASCII码文件的读写296
14.5.3对二进制文件的读写298
习题14302第15章异常处理303
15.1异常处理的基本思路303
15.2C++异常处理的实现306
15.2.1简单异常处理306
15.2.2类类型异常处理309
习题15311第16章综合实例312
16.1用面向过程的方法设计人人对弈程序313
16.2用面向对象的方法设计人人对弈程序329
16.3扩展游戏程序343
习题16344第17章集成开发环境345
17.1VisualStudio2010的安装与启动345
17.2VisualStudio2010的操作界面346
17.3创建和打开项目349
17.3.1创建项目349
17.3.2在解决方案中新建项目350
17.3.3在项目中添加项351
17.3.4打开项目355
17.3.5编辑源程序356
17.4生成和运行项目356
17.5调试程序357
习题17364附录AASCII码表365参考文献366
第1章C++入门1
1.1C++简介1
1.1.1C++的产生与发展1
1.1.2C++的特点2
1.2简单的C++程序3
1.2.1C++程序结构3
1.2.2输入与输出5
1.2.3注释6
1.3C++程序的上机执行过程7
1.4程序设计语言介绍8
1.4.1机器语言8
1.4.2汇编语言9
1.4.3高级语言10第2章基本数据类型与表达式14
2.1字符集与标识符14
2.1.1字符集14
2.1.2标识符14
2.1.3关键字15
2.2基本数据类型16
2.2.1整型16
2.2.2字符型16
2.2.3布尔型17
2.2.4浮点型17
2.3常量18
2.3.1数值型常量18
2.3.2字符型常量19
2.4变量20
2.4.1变量20
2.4.2常变量21
2.5运算符与表达式23
2.5.1算术运算符与算术表达式23
2.5.2赋值运算符与赋值表达式24
2.5.3逗号运算符与逗号表达式24
2.5.4自增自减运算符25
2.5.5类型转换25
2.5.6位运算符与位运算表达式27
2.6计算机中的数据表示29
2.6.1计算机中的数制29
2.6.2数值型数据的表示31
2.6.3字符型数据的编码表示33第3章语句与结构化程序设计34
3.1功能语句与顺序结构程序设计34
3.1.1赋值语句34
3.1.2空语句34
3.1.3复合语句34
3.1.4顺序结构程序设计34
3.2分支语句与分支结构程序设计35
3.2.1关系表达式和逻辑表达式35
3.2.2if语句38
3.2.3if…else语句38
3.2.4条件运算符与条件表达式40
3.2.5switch语句41
3.3循环语句与循环结构程序设计42
3.3.1for循环语句43
3.3.2do…while循环语句45
3.3.3while循环语句47
3.3.4循环语句的嵌套48
3.4转移语句49
3.4.1break语句49
3.4.2continue语句49
3.4.3goto语句50
3.5程序举例51
3.6算法与程序设计58
3.6.1算法设计与分析58
3.6.2程序设计风格61
习题362第4章数组与字符串63
4.1数组的定义与使用63
4.1.1一维数组的定义与使用63
4.1.2二维数组的定义与使用64
4.2数组的初始化66
4.3数组应用举例67
4.3.1一维数组应用68
4.3.2二维数组应用73
4.4字符串76
4.4.1字符串变量的定义与使用76
4.4.2字符串变量的输入输出77
4.4.3字符串运算78
4.4.4字符串数组79
4.5字符数组81
4.6动态数组82
4.7静态数组访问的下标越界问题84
习题485第5章函数86
5.1函数定义86
5.2函数调用与函数声明87
5.2.1函数调用87
5.2.2函数声明88
5.3函数的参数传递90
5.3.1值传递90
5.3.2引用传递91
5.3.3函数的默认形参值92
5.4函数的嵌套与递归93
5.4.1函数嵌套94
5.4.2函数递归94
5.5数组作函数参数97
5.5.1数组元素作函数参数97
5.5.2一维数组名作函数参数98
5.5.3二维数组名作函数参数99
5.6内联函数100
5.7重载函数101
5.8系统函数103
习题5104第6章指针106
6.1指针变量106
6.1.1内存单元地址106
6.1.2指针变量的定义107
6.2指针的赋值与运算107
6.2.1指针的赋值107
6.2.2指针的运算108
6.3指针作为函数参数110
6.4指针与数组111
6.4.1数组的地址111
6.4.2指针与一维数组111
6.4.3指针与二维数组112
6.4.4指针数组114
6.5动态内存分配116
6.6函数指针119
习题6122第7章自定义数据类型123
7.1结构体类型123
7.1.1结构体类型的定义123
7.1.2结构体变量的定义与初始化124
7.1.3结构体变量的引用125
7.2结构体应用127
7.2.1结构体数组127
7.2.2结构体和指针129
7.2.3结构体和函数131
7.3共用体134
7.3.1共用体的定义135
7.3.2共用体的应用136
7.4链表137
7.4.1线性表137
7.4.2线性链表138
7.4.3线性链表的操作139
7.5枚举类型144
7.5.1枚举类型和枚举变量的定义144
7.5.2枚举变量的赋值和引用145
7.5.3枚举变量值的输入与输出145
习题7147第8章C++程序结构149
8.1C++程序构成149
8.2预处理命令150
8.2.1宏定义150
8.2.2文件包含151
8.2.3条件编译153
8.3变量的作用域156
8.3.1局部变量156
8.3.2全局变量156
8.4变量的存储类别157
8.4.1局部自动变量158
8.4.2局部寄存器变量159
8.4.3局部静态变量159
8.4.4外部变量声明160
8.5内部函数与外部函数162
8.5.1内部函数162
8.5.2外部函数163
习题8164第9章类和对象165
9.1面向对象程序设计概述165
9.1.1面向对象的概念165
9.1.2面向对象程序设计的特点165
9.1.3面向对象与面向过程的区别166
9.2类和对象167
9.2.1类的定义167
9.2.2对象的定义170
9.2.3对象成员的访问171
9.3构造函数173
9.3.1不带参数的构造函数173
9.3.2带参数的构造函数174
9.3.3带默认值的构造函数175
9.3.4带初始化表的构造函数176
9.3.5构造函数的重载178
9.4析构函数180
9.5复制构造函数183
9.5.1对象的赋值183
9.5.2对象的复制184
9.6对象数组188
9.7const对象和const成员190
9.8成员函数存储与this指针192
9.9类静态成员194
9.9.1静态数据成员194
9.9.2静态成员函数195
9.10友元函数与友元类197
9.10.1友元函数199
9.10.2友元类201
习题9202第10章继承与派生203
10.1继承与派生的概念203
10.2派生类的声明204
10.2.1派生类的声明204
10.2.2派生类的构成205
10.3派生类成员的访问特性207
10.3.1公有继承207
10.3.2私有继承208
10.3.3保护继承208
10.3.4多级派生时的访问特性209
10.4派生类的构造函数和析构函数212
10.4.1简单派生类的构造函数213
10.4.2有子对象的派生类的构造函数215
10.4.3派生类的析构函数216
10.5基类与派生类的转换218
10.5.1派生类对象的值可以赋给基类对象218
10.5.2派生类对象可以作为基类对象使用219
10.6类的继承与组合220
10.7继承在软件开发中的作用221
10.8多基类继承224
10.8.1定义多基类继承224
10.8.2多继承派生类的构造函数226
10.8.3基类成员名冲突227
10.8.4虚基类228
习题10232第11章运算符重载233
11.1运算符重载的实现233
11.2运算符重载规则237
11.3运算符重载函数238
11.4重载流插入和流提取运算符241
11.5数据的类型转换244
11.5.1用转换构造函数实现类型转换245
11.5.2用类型转换函数实现类型转换247
习题11250第12章多态与虚函数251
12.1多态性和绑定251
12.2虚函数254
12.2.1虚函数的定义254
12.2.2虚析构函数255
12.3纯虚函数与抽象类257
12.3.1纯虚函数257
12.3.2抽象类260
12.4动态绑定与虚函数表263
12.4.1多态类与非多态类263
12.4.2动态绑定的实现265
习题12267第13章模板268
13.1模板的引入268
13.2函数模板269
13.2.1函数模板的定义269
13.2.2函数模板的调用269
13.2.3函数模板的重载271
13.3类模板274
13.3.1类模板的定义和使用274
13.3.2类模板的继承275
13.4类模板应用275
13.4.1数组类模板275
13.4.2线性链表类模板278
习题13281第14章输入输出流和文件282
14.1输入输出与流282
14.2C++的流类和流对象283
14.3标准输入输出流283
14.3.1标准输出流284
14.3.2标准输入流285
14.3.3流成员函数287
14.4设定输入输出格式290
14.5文件处理294
14.5.1文件的打开和关闭294
14.5.2对ASCII码文件的读写296
14.5.3对二进制文件的读写298
习题14302第15章异常处理303
15.1异常处理的基本思路303
15.2C++异常处理的实现306
15.2.1简单异常处理306
15.2.2类类型异常处理309
习题15311第16章综合实例312
16.1用面向过程的方法设计人人对弈程序313
16.2用面向对象的方法设计人人对弈程序329
16.3扩展游戏程序343
习题16344第17章集成开发环境345
17.1VisualStudio2010的安装与启动345
17.2VisualStudio2010的操作界面346
17.3创建和打开项目349
17.3.1创建项目349
17.3.2在解决方案中新建项目350
17.3.3在项目中添加项351
17.3.4打开项目355
17.3.5编辑源程序356
17.4生成和运行项目356
17.5调试程序357
习题17364附录AASCII码表365参考文献366
第1章C++入门1
1.1C++简介1
1.1.1C++的产生与发展1
1.1.2C++的特点2
1.2简单的C++程序3
1.2.1C++程序结构3
1.2.2输入与输出5
1.2.3注释6
1.3C++程序的上机执行过程7
1.4程序设计语言介绍8
1.4.1机器语言8
1.4.2汇编语言9
1.4.3高级语言10第2章基本数据类型与表达式14
2.1字符集与标识符14
2.1.1字符集14
2.1.2标识符14
2.1.3关键字15
2.2基本数据类型16
2.2.1整型16
2.2.2字符型16
2.2.3布尔型17
2.2.4浮点型17
2.3常量18
2.3.1数值型常量18
2.3.2字符型常量19
2.4变量20
2.4.1变量20
2.4.2常变量21
2.5运算符与表达式23
2.5.1算术运算符与算术表达式23
2.5.2赋值运算符与赋值表达式24
2.5.3逗号运算符与逗号表达式24
2.5.4自增自减运算符25
2.5.5类型转换25
2.5.6位运算符与位运算表达式27
2.6计算机中的数据表示29
2.6.1计算机中的数制29
2.6.2数值型数据的表示31
2.6.3字符型数据的编码表示33第3章语句与结构化程序设计34
3.1功能语句与顺序结构程序设计34
3.1.1赋值语句34
3.1.2空语句34
3.1.3复合语句34
3.1.4顺序结构程序设计34
3.2分支语句与分支结构程序设计35
3.2.1关系表达式和逻辑表达式35
3.2.2if语句38
3.2.3if…else语句38
3.2.4条件运算符与条件表达式40
3.2.5switch语句41
3.3循环语句与循环结构程序设计42
3.3.1for循环语句43
3.3.2do…while循环语句45
3.3.3while循环语句47
3.3.4循环语句的嵌套48
3.4转移语句49
3.4.1break语句49
3.4.2continue语句49
3.4.3goto语句50
3.5程序举例51
3.6算法与程序设计58
3.6.1算法设计与分析58
3.6.2程序设计风格61第4章数组与字符串62
4.1数组的定义与使用62
4.1.1一维数组的定义与使用62
4.1.2二维数组的定义与使用63
4.2数组的初始化65
4.3数组应用举例66
4.3.1一维数组应用67
4.3.2二维数组应用72
4.4字符串75
4.4.1字符串变量的定义与使用75
4.4.2字符串变量的输入输出76
4.4.3字符串运算77
4.4.4字符串数组78
4.5字符数组80
4.6动态数组81
4.7静态数组访问的下标越界问题83第5章函数84
5.1函数定义84
5.2函数调用与函数声明85
5.2.1函数调用85
5.2.2函数声明86
5.3函数的参数传递88
5.3.1值传递88
5.3.2引用传递89
5.3.3函数的默认形参值90
5.4函数的嵌套与递归91
5.4.1函数嵌套92
5.4.2函数递归92
5.5数组作函数参数95
5.5.1数组元素作函数参数95
5.5.2一维数组名作函数参数96
5.5.3二维数组名作函数参数97
5.6内联函数98
5.7重载函数99
5.8系统函数101第6章指针103
6.1指针变量103
6.1.1内存单元地址103
6.1.2指针变量的定义104
6.2指针的赋值与运算104
6.2.1指针的赋值104
6.2.2指针的运算105
6.3指针作为函数参数107
6.4指针与数组108
6.4.1数组的地址108
6.4.2指针与一维数组108
6.4.3指针与二维数组109
6.4.4指针数组111
6.5动态内存分配112
6.6函数指针115第7章自定义数据类型119
7.1结构体类型119
7.1.1结构体类型的定义119
7.1.2结构体变量的定义与初始化120
7.1.3结构体变量的引用121
7.2结构体应用123
7.2.1结构体数组123
7.2.2结构体和指针125
7.2.3结构体和函数127
7.3共用体130
7.3.1共用体的定义131
7.3.2共用体的应用132
7.4链表133
7.4.1线性表133
7.4.2线性链表134
7.4.3线性链表的操作135
7.5枚举类型140
7.5.1枚举类型和枚举变量的定义140
7.5.2枚举变量的赋值和引用141
7.5.3枚举变量值的输入与输出141第8章C++程序结构144
8.1C++程序构成144
8.2预处理命令145
8.2.1宏定义145
8.2.2文件包含146
8.2.3条件编译148
8.3变量的作用域151
8.3.1局部变量151
8.3.2全局变量151
8.4变量的存储类别152
8.4.1局部动态变量153
8.4.2局部寄存器变量154
8.4.3局部静态变量154
8.4.4外部变量声明155
8.5内部函数与外部函数157
8.5.1内部函数157
8.5.2外部函数158第9章类和对象160
9.1面向对象程序设计概述160
9.1.1面向对象的概念160
9.1.2面向对象程序设计的特点160
9.1.3面向对象与面向过程的区别161
9.2类和对象162
9.2.1类的定义162
9.2.2对象的定义165
9.2.3对象成员的访问166
9.3构造函数168
9.3.1不带参数的构造函数168
9.3.2带参数的构造函数169
9.3.3带默认值的构造函数170
9.3.4带初始化表的构造函数171
9.3.5构造函数的重载173
9.4析构函数175
9.5复制构造函数178
9.5.1对象的赋值178
9.5.2对象的复制179
9.6对象数组183
9.7const对象和const成员185
9.8成员函数存储与this指针187
9.9类静态成员189
9.9.1静态数据成员189
9.9.2静态成员函数190
9.10友元函数与友元类192
9.10.1友元函数194
9.10.2友元类196第10章继承与派生197
10.1继承与派生的概念197
10.2派生类的声明198
10.2.1派生类的声明198
10.2.2派生类的构成199
10.3派生类成员的访问特性201
10.3.1公有继承201
10.3.2私有继承202
10.3.3保护继承202
10.3.4多级派生时的访问特性203
10.4派生类的构造函数和析构函数206
10.4.1简单派生类的构造函数207
10.4.2有子对象的派生类的构造函数209
10.4.3派生类的析构函数210
10.5基类与派生类的转换212
10.5.1派生类对象的值可以赋给基类对象212
10.5.2派生类对象可以作为基类对象使用213
10.6类的继承与组合214
10.7继承在软件开发中的作用215
10.8多基类继承218
10.8.1定义多基类继承218
10.8.2多继承派生类的构造函数220
10.8.3基类成员名冲突221
10.8.4虚基类222第11章运算符重载227
11.1运算符重载的实现227
11.2运算符重载规则231
11.3运算符重载函数232
11.4重载流插入和流提取运算符235
11.5数据的类型转换238
11.5.1用转换构造函数实现类型转换238
11.5.2用类型转换函数实现类型转换241第12章多态与虚函数245
12.1多态性和绑定245
12.2虚函数248
12.2.1虚函数的定义248
12.2.2虚析构函数249
12.3纯虚函数与抽象类251
12.3.1纯虚函数251
12.3.2抽象类254
12.4动态绑定与虚函数表257
12.4.1多态类与非多态类257
12.4.2动态绑定的实现259第13章模板261
13.1模板的引入261
13.2函数模板262
13.2.1函数模板的定义262
13.2.2函数模板的调用262
13.2.3函数模板的重载264
13.3类模板267
13.3.1类模板的定义和使用267
13.3.2类模板的继承268
13.4类模板应用268
13.4.1数组类模板268
13.4.2线性链表类模板271第14章输入输出流和文件275
14.1输入输出与流275
14.2C++的流类和流对象276
14.3标准输入输出流276
14.3.1标准输出流277
13.4.2标准输入流278
14.3.3流成员函数280
14.4设定输入输出格式283
14.5文件处理287
14.5.1文件的打开和关闭287
14.5.2对ASCII码文件的读写289
14.5.3对二进制文件的读写291第15章异常处理296
15.1异常处理的基本思路296
15.2C++异常处理的实现299
15.2.1简单异常处理299
15.2.2类类型异常处理302第16章综合实例305
16.1用面向过程的方法设计人人对弈程序306
16.2用面向对象的方法设计人人对弈程序322
16.3扩展游戏程序336第17章集成开发环境338
17.1VisualStudio2010的安装与启动338
17.2VisualStudio2010的操作界面339
17.3创建和打开项目342
17.3.1创建项目342
17.3.2在解决方案中新建项目343
17.3.3在项目中添加项344
17.3.4打开项目348
17.3.5编辑源程序349
17.4生成和运行项目349
17.5调试程序350附录AASCII码表357参考文献358
投稿