书籍详情
面向对象程序设计教程(C++)
作者:王晓帆 著
出版社:电子工业出版社
出版时间:2020-07-01
ISBN:9787121392580
定价:¥49.80
购买这本书可以去
内容简介
本书针对已有C程序设计基础、学习C++面向对象程序设计的读者。本书分为12章,第1章介绍面向对象程序设计的思想和基本概念;第2章综述C++的发展历程及新特性;第3~6章介绍类、对象、函数、常量、重载的概念及使用方法;第7、8章详细讲解类的组合、继承、多态及模板问题;第9~11章详细介绍输入流/输出流、异常处理及Visual C++ 2019开发环境;第12章给出一个Visual Studio环境下的C++综合实例。本书内容由浅入深,采用案例教学的方法,力求将复杂的概念用简洁浅显的语言进行讲解,并且用实例对方法进行说明。书中还配有大量的习题。本书配有电子课件等教学资源,请登录华信教育资源网www.hxedu.com.cn,注册后免费下载。本书还配有慕课,请登录智慧树网站www.zhihuishu.com,搜索“面向对象程序设计”或扫描前言中的课程二维码。
作者简介
王晓帆,西安电子科技大学计算机应用专业博士研究生。现任职于西安理工大学计算机科学与工程学院,副教授。专业方向智能信息处理、人工智能。参加编写《C++面向对象程序设计》。参与陕西高等教育教学改革研究重点项目,2019年获陕西省教学成果二等奖一项。
目录
目 录
第1章 面向对象方法学\t1
1.1 面向对象方法学的发展\t1
1.2 面向对象方法学的概述\t2
1.2.1 面向对象分析\t2
1.2.2 面向对象设计\t3
1.2.3 面向对象实现\t3
1.3 面向对象程序设计的特性\t3
1.3.1 抽象\t4
1.3.2 封装\t4
1.3.3 继承\t5
1.3.4 多态\t5
1.4 面向对象程序设计的术语\t6
1.5 面向对象程序设计语言\t7
1.5.1 C++\t7
1.5.2 Java\t8
1.5.3 C#\t9
1.5.4 Python\t10
小结\t11
习题1\t11
第2章 C++概述\t12
2.1 C++发展历程与特点\t12
2.2 C++程序\t13
2.2.1 C++程序的格式与构成\t13
2.2.2 C++程序的编译与执行\t15
2.3 从C到C++\t16
2.4 C++的一些新特性\t18
2.4.1 注释\t18
2.4.2 新的数据类型\t19
2.4.3 灵活的变量说明\t19
2.4.4 作用域运算符\t19
2.4.5 命名空间\t20
2.4.6 新的输入/输出\t21
2.4.7 头文件\t23
2.4.8 引用\t24
2.5 Visual C++ 2019开发环境简介\t28
小结\t30
习题2\t30
第3章 类与对象\t32
3.1 类的定义\t32
3.1.1 类定义格式\t32
3.1.2 成员函数的定义\t34
3.1.3 类的作用域\t34
3.2 对象的定义与使用\t35
3.2.1 对象的定义\t35
3.2.2 对象的使用\t36
3.2.3 对象的赋值\t38
3.2.4 对象的生命周期\t39
3.3 构造函数和析构函数\t42
3.3.1 构造函数\t42
3.3.2 析构函数\t44
3.4 内存的动态分配\t47
3.4.1 运算符new\t47
3.4.2 运算符delete\t48
3.5 对象数组和对象指针\t49
3.5.1 对象数组\t49
3.5.2 对象指针\t51
3.5.3 自引用指针this\t52
小结\t54
习题3\t54
第4章 函数\t56
4.1 函数参数的传递机制\t56
4.1.1 使用对象作为函数参数\t56
4.1.2 使用对象指针作为函数参数\t57
4.1.3 使用对象引用作为函数参数\t58
4.1.4 三种传递方式比较\t59
4.2 内联函数\t59
4.3 函数重载\t60
4.3.1 非成员函数重载\t60
4.3.2 成员函数重载\t62
4.4 函数的默认参数值\t63
4.5 友元\t65
4.5.1 友元函数\t65
4.2.2 友元类\t69
4.6 静态成员\t70
4.6.1 静态数据成员\t71
4.6.2 静态成员函数\t73
4.6.3 静态对象\t76
4.7 应用实例\t77
小结\t83
习题4\t84
第5章 常量\t88
5.1 const的最初动机\t88
5.1.1 由define引发的问题\t88
5.1.2 const的使用方法\t88
5.2 const与指针\t89
5.2.1 指向常量的指针\t90
5.2.2 常指针\t90
5.3 const与引用\t91
5.4 const与函数\t91
5.4.1 const类型的参数\t91
5.4.2 const类型的返回值\t92
5.4.3 const在传递地址中的应用\t93
5.5 const与类\t94
5.5.1 类内const局部常量\t94
5.5.2 常对象与常成员函数\t95
5.6 拷贝构造函数\t97
小结\t101
习题5\t102
第6章 运算符重载\t103
6.1 运算符重载的基本概念\t103
6.2 成员函数重载运算符\t103
6.2.1 重载单目运算符\t104
6.2.2 重载双目运算符\t105
6.2.3 重载++、--运算符\t107
6.2.4 重载赋值运算符\t110
6.2.5 重载下标运算符\t113
6.2.6 重载函数调用运算符\t115
6.3 友元函数重载运算符\t115
6.4 成员函数与友元函数重载运算符的
比较\t119
6.5 类型转换\t121
6.5.1 系统预定义类型之间的
转换\t121
6.5.2 用构造函数实现类型转换\t121
6.5.3 用运算符转换函数实现类型
转换\t124
小结\t127
习题6\t128
第7章 组合、继承与多态\t130
7.1 组合\t130
7.2 继承\t131
7.3 继承与组合\t133
7.4 继承与组合中的构造和析构\t136
7.4.1 成员对象初始化\t136
7.4.2 构造和析构顺序\t136
7.5 名字覆盖\t140
7.6 虚函数\t141
7.6.1 静态绑定与动态绑定\t142
7.6.2 虚函数的定义\t142
7.6.3 虚析构函数\t144
7.7 纯虚函数和抽象基类\t144
7.8 多重继承\t146
7.8.1 多继承语法\t147
7.8.2 虚基类\t148
7.8.3 最终派生类\t149
7.8.4 多继承的构造顺序\t150
小结\t152
习题7\t152
第8章 模板\t156
8.1 模板的概念\t156
8.2 函数模板与模板函数\t156
8.3 类模板与模板类\t160
8.4 应用实例\t164
小结\t171
习题8\t171
第9章 输入流/输出流\t173
9.1 C++流类库简介\t173
9.2 输入流/输出流格式\t174
9.2.1 基本输出流\t174
9.2.2 基本输入流\t176
9.2.3 格式化输入/输出\t177
9.2.4 其他输入/输出函数\t183
9.3 用户自定义类型的输入/输出\t185
9.3.1 重载输出运算符\t185
9.3.2 重载输入运算符\t186
9.4 文件输入/输出\t188
9.4.1 顺序访问文件\t188
9.4.2 随机访问文件\t192
9.5 应用实例\t193
小结\t198
习题9\t198
第10章 异常处理\t201
10.1 异常处理概述\t201
10.2 抛出异常\t201
10.3 异常捕获\t202
10.3.1 异常处理语法\t202
10.3.2 异常接口声明\t204
10.3.3 捕获所有异常\t204
10.3.4 未捕获异常的处理\t204
10.4 构造函数、析构函数与异常处理\t205
10.5 异常匹配\t207
10.6 标准异常及层次结构\t208
小结\t208
习题10\t208
第11章 Visual C++ 2019开发环境\t209
11.1 Visual C++ 2019概述\t209
11.1.1 Visual Studio 2019\t209
11.1.2 Visual C++ 2019\t210
11.2 Visual C++ 2019环境\t210
11.2.1 Visual C++ 2019操作界面\t210
11.2.2 项目\t212
11.2.3 调试环境\t213
11.3 Windows编程\t214
11.3.1 Windows常用数据类型\t215
11.3.2 消息与事件\t215
11.3.3 窗口消息示例\t217
11.4 MFC类库\t219
11.5 MFC编程实例\t222
小结\t225
习题11\t225
第12章 综合实例\t226
12.1 系统分析与设计\t226
12.1.1 系统功能分析\t226
12.1.2 系统功能类模型\t226
12.1.3 系统功能流程\t227
12.2 设计实现\t228
12.2.1 系统程序框架生成\t228
12.2.2 建立图元类\t230
12.2.3 界面控制\t233
12.2.4 绘制图元――线段\t235
12.2.5 绘制图元――矩形\t240
12.2.6 绘制图元――椭圆\t243
12.2.7 绘制图元――文字\t246
12.2.8 绘制图元――折线/多边形\t248
12.2.9 图元文件存取\t251
小结\t260
习题12\t260
参考文献\t261
第1章 面向对象方法学\t1
1.1 面向对象方法学的发展\t1
1.2 面向对象方法学的概述\t2
1.2.1 面向对象分析\t2
1.2.2 面向对象设计\t3
1.2.3 面向对象实现\t3
1.3 面向对象程序设计的特性\t3
1.3.1 抽象\t4
1.3.2 封装\t4
1.3.3 继承\t5
1.3.4 多态\t5
1.4 面向对象程序设计的术语\t6
1.5 面向对象程序设计语言\t7
1.5.1 C++\t7
1.5.2 Java\t8
1.5.3 C#\t9
1.5.4 Python\t10
小结\t11
习题1\t11
第2章 C++概述\t12
2.1 C++发展历程与特点\t12
2.2 C++程序\t13
2.2.1 C++程序的格式与构成\t13
2.2.2 C++程序的编译与执行\t15
2.3 从C到C++\t16
2.4 C++的一些新特性\t18
2.4.1 注释\t18
2.4.2 新的数据类型\t19
2.4.3 灵活的变量说明\t19
2.4.4 作用域运算符\t19
2.4.5 命名空间\t20
2.4.6 新的输入/输出\t21
2.4.7 头文件\t23
2.4.8 引用\t24
2.5 Visual C++ 2019开发环境简介\t28
小结\t30
习题2\t30
第3章 类与对象\t32
3.1 类的定义\t32
3.1.1 类定义格式\t32
3.1.2 成员函数的定义\t34
3.1.3 类的作用域\t34
3.2 对象的定义与使用\t35
3.2.1 对象的定义\t35
3.2.2 对象的使用\t36
3.2.3 对象的赋值\t38
3.2.4 对象的生命周期\t39
3.3 构造函数和析构函数\t42
3.3.1 构造函数\t42
3.3.2 析构函数\t44
3.4 内存的动态分配\t47
3.4.1 运算符new\t47
3.4.2 运算符delete\t48
3.5 对象数组和对象指针\t49
3.5.1 对象数组\t49
3.5.2 对象指针\t51
3.5.3 自引用指针this\t52
小结\t54
习题3\t54
第4章 函数\t56
4.1 函数参数的传递机制\t56
4.1.1 使用对象作为函数参数\t56
4.1.2 使用对象指针作为函数参数\t57
4.1.3 使用对象引用作为函数参数\t58
4.1.4 三种传递方式比较\t59
4.2 内联函数\t59
4.3 函数重载\t60
4.3.1 非成员函数重载\t60
4.3.2 成员函数重载\t62
4.4 函数的默认参数值\t63
4.5 友元\t65
4.5.1 友元函数\t65
4.2.2 友元类\t69
4.6 静态成员\t70
4.6.1 静态数据成员\t71
4.6.2 静态成员函数\t73
4.6.3 静态对象\t76
4.7 应用实例\t77
小结\t83
习题4\t84
第5章 常量\t88
5.1 const的最初动机\t88
5.1.1 由define引发的问题\t88
5.1.2 const的使用方法\t88
5.2 const与指针\t89
5.2.1 指向常量的指针\t90
5.2.2 常指针\t90
5.3 const与引用\t91
5.4 const与函数\t91
5.4.1 const类型的参数\t91
5.4.2 const类型的返回值\t92
5.4.3 const在传递地址中的应用\t93
5.5 const与类\t94
5.5.1 类内const局部常量\t94
5.5.2 常对象与常成员函数\t95
5.6 拷贝构造函数\t97
小结\t101
习题5\t102
第6章 运算符重载\t103
6.1 运算符重载的基本概念\t103
6.2 成员函数重载运算符\t103
6.2.1 重载单目运算符\t104
6.2.2 重载双目运算符\t105
6.2.3 重载++、--运算符\t107
6.2.4 重载赋值运算符\t110
6.2.5 重载下标运算符\t113
6.2.6 重载函数调用运算符\t115
6.3 友元函数重载运算符\t115
6.4 成员函数与友元函数重载运算符的
比较\t119
6.5 类型转换\t121
6.5.1 系统预定义类型之间的
转换\t121
6.5.2 用构造函数实现类型转换\t121
6.5.3 用运算符转换函数实现类型
转换\t124
小结\t127
习题6\t128
第7章 组合、继承与多态\t130
7.1 组合\t130
7.2 继承\t131
7.3 继承与组合\t133
7.4 继承与组合中的构造和析构\t136
7.4.1 成员对象初始化\t136
7.4.2 构造和析构顺序\t136
7.5 名字覆盖\t140
7.6 虚函数\t141
7.6.1 静态绑定与动态绑定\t142
7.6.2 虚函数的定义\t142
7.6.3 虚析构函数\t144
7.7 纯虚函数和抽象基类\t144
7.8 多重继承\t146
7.8.1 多继承语法\t147
7.8.2 虚基类\t148
7.8.3 最终派生类\t149
7.8.4 多继承的构造顺序\t150
小结\t152
习题7\t152
第8章 模板\t156
8.1 模板的概念\t156
8.2 函数模板与模板函数\t156
8.3 类模板与模板类\t160
8.4 应用实例\t164
小结\t171
习题8\t171
第9章 输入流/输出流\t173
9.1 C++流类库简介\t173
9.2 输入流/输出流格式\t174
9.2.1 基本输出流\t174
9.2.2 基本输入流\t176
9.2.3 格式化输入/输出\t177
9.2.4 其他输入/输出函数\t183
9.3 用户自定义类型的输入/输出\t185
9.3.1 重载输出运算符\t185
9.3.2 重载输入运算符\t186
9.4 文件输入/输出\t188
9.4.1 顺序访问文件\t188
9.4.2 随机访问文件\t192
9.5 应用实例\t193
小结\t198
习题9\t198
第10章 异常处理\t201
10.1 异常处理概述\t201
10.2 抛出异常\t201
10.3 异常捕获\t202
10.3.1 异常处理语法\t202
10.3.2 异常接口声明\t204
10.3.3 捕获所有异常\t204
10.3.4 未捕获异常的处理\t204
10.4 构造函数、析构函数与异常处理\t205
10.5 异常匹配\t207
10.6 标准异常及层次结构\t208
小结\t208
习题10\t208
第11章 Visual C++ 2019开发环境\t209
11.1 Visual C++ 2019概述\t209
11.1.1 Visual Studio 2019\t209
11.1.2 Visual C++ 2019\t210
11.2 Visual C++ 2019环境\t210
11.2.1 Visual C++ 2019操作界面\t210
11.2.2 项目\t212
11.2.3 调试环境\t213
11.3 Windows编程\t214
11.3.1 Windows常用数据类型\t215
11.3.2 消息与事件\t215
11.3.3 窗口消息示例\t217
11.4 MFC类库\t219
11.5 MFC编程实例\t222
小结\t225
习题11\t225
第12章 综合实例\t226
12.1 系统分析与设计\t226
12.1.1 系统功能分析\t226
12.1.2 系统功能类模型\t226
12.1.3 系统功能流程\t227
12.2 设计实现\t228
12.2.1 系统程序框架生成\t228
12.2.2 建立图元类\t230
12.2.3 界面控制\t233
12.2.4 绘制图元――线段\t235
12.2.5 绘制图元――矩形\t240
12.2.6 绘制图元――椭圆\t243
12.2.7 绘制图元――文字\t246
12.2.8 绘制图元――折线/多边形\t248
12.2.9 图元文件存取\t251
小结\t260
习题12\t260
参考文献\t261
猜您喜欢