21世纪高等学校计算机规划教材

C++语言程序设计

章节布局合理,内容循序渐进,有基础有拔高的教材
分享 推荐 1 收藏 9 阅读 1.5K
汤亚玲 , 胡增涛 (主编) 汪军 , 林芳 , 柯栋梁 , 李伟 , 姚红燕 (副主编) 978-7-115-42278-1

关于本书的内容有任何问题,请联系 张斌

1. 内容由浅入深、通俗易懂
2. 教学深入浅出、循序渐进
3. 案例详细丰富、实践性强
¥45.00 ¥38.25 (8.5 折)
立即购买 申请样书
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书系统地讲述C++语言的基础知识、基本规则以及编程方法,详尽地讲述面向对象的基本特征—类和对象、继承性和派生类、多态性和虚函数等内容。每章配有丰富的例题和适量的练习题,便于自学。
本书文字简洁、精练,叙述清楚,通俗易懂。全书内容由浅入深,讲解突出重点,偏重对概念和语言机制的讲解。本书适合作为一般高等院校本科生的教材,也可作为教师和学生的参考书,以及广大电脑爱好者自学C++语言的学习入门指导书。

前言

计算机程序设计是一门实践性很强的课程,也是计算机科学及其相关专业理论和实践相结合的一门必备课程。多年来,各大高校都把C/C++程序设计当作专业课程体系中的一门必修课。
C++自从诞生之日起,就以其简洁、高效、描述能力强被业界所重视。相比C语言,C++所新支持的面向对象编程模式,是一种分析问题、解决问题的新理念,这种模式更贴合实际情形,符合现实中人们解决问题的基本思路和方法。选择C++作为教学语言,其实用性和前瞻性不言而喻。C++通过类、对象、继承、多态、参数化程序设计以及异常等机制很好地支持了面向对象模式对实际问题的解决。因此,选择C++作为高等院校计算机及其相关专业学生的必修课程,有着非常重要的意义。
本书的编写组都是长年奋战在教学一线的老教师,有着较为深厚的理论功底和教学经验。在长期的实践教学中,他们深感一本言简意赅、叙述清楚、文字深入浅出,适合教学实情的教材的迫切性。这样的教材应该具有以下一些特征:一是能适应有良好C语言基础的学生学习的需要;二是能让没有能较好掌握C语言的学生有过渡和进行系统学习的机会;三是全书的知识体系要完整,章节、知识点的编排要合理,能适应一般工科院校的教学,让从教者能以清晰明了的教学思路传授C++的知识体系。
正是秉承着这样的编写指导思想,我们联合了省内外几所高校多位具有丰富教学经验的老教师,将自己平时在教学上积累的知识和当前主流的C++经典教材中的内容进行融合,并进行了适当的取舍,编写了本书。本书力争做到知识结构合理,各个章节相互联系又独立成篇,知识点过渡衔接自然,叙述清楚,简洁易懂,案例丰富同时避免枯燥乏味,让学习者能抓住知识的重点,并能比较轻松地构建自己学习C++语言的知识框架体系。
本书共分为12章,第1章介绍C++语言的一些基本概念和主要特征,让读者对于C++语言有一个总体的了解。第2章简要介绍了C++的一些基础知识,同时复习C/C++的一些基本语法结构。第3章介绍函数的相关知识,包括C++所支持的一些新的函数机制,如重载函数、内联函数等。第4章阐述类和对象的相关内容,本章是面向对象概念的主体部分,是全书的核心和重点之一。第5章讨论C++中对于数据共享的相关机制,以及一般C++程序的组织结构。第6章对C语言中已经学习过的数组、指针和字符串做进一步的讨论。第7章、第8章分别介绍继承和多态,继承和多态是面向对象中的高级技术,它们扩展了现有类的功能,并提供了更多的、以模拟现实的方式解决编程中问题的途径。第9章介绍流类库与输入输出,描述了在C++环境下,如何实现基本数据类型及其他类型数据输入输出的相关问题,以及文件使用的相关知识。第10章是异常处理,该章讨论面向对象编程中一种应对意外事件的解决方案——异常,它也是面向对象知识体系中的重点学习内容。第11章主要是针对时下主流的VC编译环境,介绍MFC的一些基础知识,让学生对VC系统自带的类库有个初步的了解。第12章是课程设计的内容,其目的在于学习前面章节之后,做一些综合性的训练。
本书可作为一般工科高等院校计算机类或者信息类相关专业“面向对象编程技术”课程的教材,建议理论课时为50~60学时,上机学时16学时左右,课程设计20学时左右。各院校可以根据本校的专业特点和具体学生情况,酌情增删学时。
本书由安徽工业大学汤亚玲、胡增涛老师任主编,负责全书的编撰和整理,以保证全书风格和内容的统一;由安徽工程大学汪军、姚红燕老师,福建工程学院林芳老师,安徽工业大学柯栋梁、李伟老师任副主编。其中第1章、第3章由汤亚玲编写,第7章、第8章、第12章由胡增涛编写,第11章由汪军编写,第2章、第5章由柯栋梁编写,第10章由李伟编写,第6章由姚红燕编写,第4章、第9章由林芳编写。全书由汤亚玲、胡增涛负责修改并统稿。
因编者水平有限,书中难免有不足甚至错误之处,敬请广大师生读者批评、指正。
如有任何建议或者意见,请联系tangyl@ahut.edu.cn或huzengtao@ahut.edu.cn。

目录

目 录






第 1章 绪论 1
1.1 C++简介 1
1.2 面向对象与面向过程 1
1.3 C++对面向对象的支持 2
1.4 C++的新特性 3
1.5 小结 5
习题一 6
第 2章 C++程序设计基础 7
2.1 认识C++程序 7
2.1.1 C++程序实例 7
2.1.2 字符集 8
2.1.3 词法记号 8
2.1.4 VC6.0开发环境简介 9
2.2 基本数据类型和表达式 12
2.2.1 基本数据类型 12
2.2.2 常量 13
2.2.3 变量 14
2.2.4 运算符与表达式 15
2.2.5 语句 18
2.3 数据的输入与输出 19
2.3.1 基本概念 19
2.3.2 C++输入输出示例 20
2.4 基本控制结构 24
2.4.1 用if语句实现选择结构 24
2.4.2 多重选择结构 25
2.4.3 循环结构 28
2.4.4 break和continue语句 31
2.4.5 程序举例 32
2.5 自定义数据类型 33
2.5.1 typedef声明 33
2.5.2 枚举类型enum 33
2.5.3 结构体类型struct 34
2.5.4 联合体类型union 36
2.6 小结 37
习题二 37
第3章 函数 41
3.1 函数的定义与使用 41
3.1.1 函数的定义 41
3.1.2 函数的参数传递 42
3.1.3 引用参数 43
3.1.4 函数的返回值 44
3.1.5 函数调用形式 44
3.2 内联函数 47
3.3 带默认形参值的函数 48
3.4 重载函数 49
3.5 C++系统函数 51
3.6 知识扩展 53
3.6.1 递归函数执行过程 53
3.6.2 C/C++存储分配 55
3.7 小结 55
习题三 56
第4章 类与对象 57
4.1 面向对象的基本概念 57
4.1.1 抽象 57
4.1.2 封装 58
4.1.3 继承 58
4.1.4 多态 59
4.2 类和对象的定义 59
4.2.1 类的定义 59
4.2.2 对象的定义 61
4.3 构造函数和析构函数 61
4.3.1 构造函数 62
4.3.2 析构函数 63
4.3.3 拷贝构造函数 65
4.4 类的组合 67
4.4.1 组合 67
4.4.2 前向引用声明 69
4.5 知识扩展 70
4.5.1 class与struct 70
4.5.2 非public构造函数 72
4.6 小结 74
习题四 75
第5章 数据的共享与保护 76
5.1 标识符的作用域与可见性 76
5.1.1 作用域 76
5.1.2 可见性 78
5.2 对象的存储类型与生存期 79
5.3 类的静态成员 81
5.3.1 静态数据成员 82
5.3.2 静态函数成员 83
5.4 类的友元 85
5.4.1 友元函数 86
5.4.2 友元类 86
5.5 共享数据的保护 87
5.5.1 常对象 87
5.5.2 用const修饰的类成员 88
5.5.3 常引用 93
5.6 多文件结构和编译预处理命令 95
5.6.1 C++程序的一般组织结构 95
5.6.2 外部变量与外部函数 98
5.6.3 编译预处理 100
5.7 小结 104
习题五 104
第6章 数组、指针与字符串 106
6.1 数组 106
6.1.1 数组的声明与使用 106
6.1.2 数组的存储与初始化 108
6.1.3 数组作为函数的参数 109
6.1.4 对象数组 112
6.1.5 程序实例 113
6.2 指针 114
6.2.1 内存空间的访问方式 115
6.2.2 指针变量的声明 115
6.2.3 指针的赋值 116
6.2.4 指针运算 117
6.2.5 用指针处理数组元素 119
6.2.6 指针数组 123
6.2.7 用指针作为函数的参数 124
6.2.8 指针型函数 126
6.2.9 指向函数的指针 126
6.2.10 对象指针 128
6.3 动态内存分配 130
6.4 深复制与浅复制 131
6.5 字符串 133
6.5.1 用字符数组存储和处理字符串 134
6.5.2 string类 135
6.6 综合实例 137
6.7 知识扩展 138
6.7.1 指向指针的指针 138
6.7.2 指针与const限定符 139
6.8 小结 141
习题六 141
第7章 继承与派生 142
7.1 继承与派生的基本概念 142
7.2 单一继承 145
7.3 类的保护成员 148
7.4 访问权限和类型兼容规则 150
7.4.1 公有派生和类型兼容规则 152
7.4.2 保护派生 154
7.4.3 私有派生 156
7.5 多继承 156
7.6 构造函数和析构函数 157
7.7 多继承中的二义性问题 162
7.7.1 作用域分辨操作符与支配规则 163
7.7.2 虚继承与虚基类 163
7.7.3 虚基类成员的构造和析构 166
7.8 知识扩展 172
7.9 小结 173
习题七 174
第8章 多态性 176
8.1 多态性概述 176
8.2 运算符重载 176
8.2.1 运算符重载的机制 177
8.2.2 运算符重载的规则 177
8.2.3 重载为类的非成员函数(通常是友元函数) 177
8.2.4 重载为类的成员函数 180
8.2.5 其他运算符重载示例 182
8.3 虚函数 185
8.3.1 静态联编与动态联编 185
8.3.2 一般虚函数成员 187
8.3.3 虚析构函数 188
8.4 纯虚函数和抽象类 189
8.4.1 纯虚函数 189
8.4.2 抽象类 190
8.4.3 抽象类的意义 192
8.5 知识扩展 193
8.5.1 dynamic_cast安全向下转型 194
8.5.2 用typeid获取运行时类型信息 196
8.6 小结 198
习题八 198
第9章 流类库与输入/输出 200
9.1 I/O流的概念及流类库结构 200
9.1.1 I/O流的概念 200
9.1.2 流类库结构 201
9.2 输出流 202
9.2.1 插入运算符和操纵符 202
9.2.2 文件输出流 206
9.2.3 二进制输出文件 209
9.2.4 字符串输出流 210
9.3 输入流 211
9.3.1 使用提取运算符 211
9.3.2 文件输入流 211
9.3.3 输入流相关函数 211
9.3.4 字符串输入流 213
9.4 输入输出流 214
9.5 综合实例 214
9.6 知识扩展 219
9.6.1 重载输出运算符 219
9.6.2 重载输入运算符 220
9.7 小结 221
习题九 221
第 10章 异常处理 223
10.1 异常处理的一个简单程序 223
10.2 异常处理机制 224
10.2.1 异常 224
10.2.2 异常处理的任务 225
10.2.3 异常处理的机制 225
10.2.4 多个catch结构 227
10.3 自定义异常类 229
10.4 C++标准异常类 230
10.5 综合实例 231
10.6 知识扩展 232
10.6.1 异常处理中的对象的构造
 和析构 232
10.6.2 重抛异常 233
10.7 小结 234
习题十 234
第 11章 MFC简介 236
11.1 MFC的主要特征 236
11.1.1 封装 236
11.1.2 继承 237
11.1.3 虚拟函数和动态约束 237
11.1.4 MFC的宏观框架体系 237
11.2 MFC和Win32 238
11.3 Cobject类 239
11.3.1 Cobject 类的定义 239
11.3.2 CObject类的特性 240
11.4 MFC中的消息映射 242
11.4.1 消息的分类 242
11.4.2 消息结构和消息处理 243
11.4.3 消息映射的定义 244
11.4.4 MFC消息映射的实现方法 245
11.4.5 消息映射的相关宏 245
11.4.6 消息映射声明 246
11.4.7 消息映射实现 248
11.4.8 消息映射宏 248
11.5 MFC窗口过程 250
11.5.1 MFC窗口过程的指定 250
11.5.2 对Windows消息的接收
 和处理 251
11.5.3 对命令消息的接收和处理 251
11.5.4 对控制通知消息的接收
 和处理 251
11.6 对象创建 251
11.6.1 对象创建与相互关系 251
11.6.2 MFC提供的接口 252
11.7 小结 253
习题十一 253
第 12章 课程设计 254
12.1 C++设计模式 254
12.1.1 课程设计的目的和意义 254
12.1.2 课程设计的基本要求 254
12.1.3 课程设计的技术要点 255
12.1.4 课程设计报告的基本格式 255
12.1.5 Factory模式简介 255
12.1.6 Singleton模式 259
12.2 人事管理系统 260
12.2.1 人事管理系统设计的目的
 和意义 260
12.2.2 人事管理系统设计的基本
 要求 260
12.2.3 人事管理系统设计试验报告
 的基本格式 261
12.2.4 人事管理系统设计技术要点 261
12.2.5 人事管理系统开发步骤简介 261
12.3 坦克大战游戏 272
12.3.1 坦克大战游戏设计的目的
 和意义 272
12.3.2 坦克大战游戏设计的基本
 要求 273
12.3.3 坦克大战游戏设计试验报告
 的基本格式 273
12.3.4 坦克大战游戏设计的技术要点 273
参考文献 296



读者评论

赶紧抢沙发哦!

我要评论

作者介绍

本书的编写组作者都是长年奋战在教学一线的老教师,有着较为深厚的理论功底和教学经验。

推荐用户

同系列书

  • 计算机网络教程(第5版)(微课版)

    谢希仁 谢钧

    本书共为7章,主要内容包括概述、物理层、数据链路层(包括局域网)、网络层与网络互连、运输层、网络应用、网络安全...

    ¥49.80
  • 计算机网络技术及应用

    郭浩

    全书共分为7个章节,系统地阐述了计算机网络的概念和知识、数据通信基本知识、网络体系结构、局域网原理和技术、In...

    ¥32.00
  • 网络规划与设计实用教程

    何利

    本书根据网络工程项目工作安排知识点,脉络清晰,理论知识系统。注重理论与实践的紧密结合,充分考虑了各类型、各层次...

    ¥49.80
  • Office高级应用教程

    李静毅

    本书共7章,主要内容包括:办公自动化基本概念和计算机相关基础知识;利用Word 2010编辑文档、美化文档以及...

    ¥49.80
  • C语言程序设计

    陈维

    根据中国高等院校计算机基础教育研究会发布的“中国高等院校计算机基础教育课程体系2014”中关于程序设计类课程教...

    ¥54.00

购买本书用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部