工业和信息化“十三五”人才培养规划教材

C++程序设计(第3版)

“十一五”国家级规划教材,Visual Studio 2013环境 面向对象程序设计 移动互联网应用程序开发
分享 推荐 0 收藏 27 阅读 8.0K
齐建玲 , 邓振杰 (主编) 斯庆巴拉 , 侯晓芳 (副主编) 978-7-115-42378-8

关于本书的内容有任何问题,请联系 马小霞

1.为十一五国家级规划教材,得到广泛好评。
2.本书作者根据最新教学需求和发展技术,对内容做了更新,并强化了实训环节。设计了两个实用的实训案例,并拆分到每一章,强化实践教学。
3.采用了更有趣味性的程序示例,并在相应行处增加了提示,提高了可读性。

内容摘要

本书以介绍C++语言的基本知识为主,旨在帮助读者建立面向对象程序设计的编程思想,主要内容包括C++与面向对象程序设计概述、C++程序设计基础、数组、函数、指针和引用、结构体和共用体、类与对象、静态与友元、继承与派生、运算符重载、虚函数和多态性、C++输入/输出流、模板和异常处理等。
本书概念清楚、通俗易懂、实例丰富,注重基础知识与典型应用相结合,具有较高的系统性、实用性和可操作性。书中所有程序代码均在Visual Studio 2013环境下运行通过。
本书为普通高等学校、高等职业院校计算机类各专业学习“C++面向对象程序设计”课程的教材,也可作为其他专业的程序设计入门教材和广大计算机应用人员的自学参考书。

前言

C++语言是目前应用最广泛的面向对象程序设计语言,《魔兽世界》等70%以上的网络游戏都是基于C++语言开发的,掌握C++语言已经成为游戏开发的基本要求;操作系统、搜索引擎、移动互联网应用等我们所用的大多数软件也都是用C++语言编写的,在涉及大规模、高性能计算时,C++语言的运算速度和稳定性优势非常明显,非常适合现在流行的移动互联网应用程序开发。
《C++程序设计(第2版)》自2008年4月发行以来,受到广大读者的欢迎,特别是得到普通高等学校、高等职业院校师生的一致好评。编者结合C++语言的最新进展和当前业界的最佳实践,结合近几年课程教学经验的总结、教学改革实践的成效以及广大读者的反馈意见,在保留第2版特色的基础上,对教材进行了全面的修订。这次修订的主要工作如下。
 对教材内容结构进行了重新调整和编排,使整体结构更加清晰,内容编排更加合理。对个别章节的内容进行了删减,教学内容更有条理,重点内容更突出,非重点内容相对弱化,将弱化的知识点并入合适的章节,在应用时进行简要说明。
 考虑到部分读者可能已经学过C语言,所以本次修订把面向过程程序设计的内容进行了一定程度的简化,重点内容放在面向对象程序设计部分。在难以理解的概念及应用上,增加了一些图示,帮助读者理解书中内容。
 对一些示例程序进行了替换,选用更实用、更新颖、更有趣味性的例子,在说明问题的同时提高读者的学习兴趣,对原教材的典型示例进行了保留。书中用文字说明示例程序时,在对应行处增加了提示,以方便读者阅读,提高可读性。
 为培养学生的程序设计能力,加强实践教学,设计了两个具有实际应用背景、实用性强、程序规模较大的实训案例,涵盖了所有章节的内容。编者将这两个案例分别拆分到每一章,形成相对独立的应用实例,并作为案例实战内容安排到每章的最后,读者可以边学边练,在完成每章案例的基础上,完成最后两个完整的实训案例,这样更有利于读者明确学习目标,加强程序设计能力培养。
 集成开发环境更新为Visual Studio 2013,所有例题程序均在Visual Studio 2013集成环境中运行通过。
本书以介绍C++语言的基本知识为主,旨在帮助读者建立面向对象程序设计的编程思想,对C++的技术讲解全面,语言表述准确,简明扼要,具有循序渐进、深入浅出的特点。主要内容包括C++与面向对象程序设计概述、C++程序设计基础、数组、函数、指针和引用、结构体和共用体、类与对象、静态与友元、继承与派生、运算符重载、虚函数和多态性、C++输入/输出流、模板和异常处理等。
本书适合作为初学C++语言的入门级教材,对每个知识点都精心设计了示例程序,全书以实训案例为主线驱动C++语言的学习,将难以理解的问题简单化,轻语法,重实践,示例恰当,重点突出,使读者树立良好的编程思维,激发读者的学习兴趣。本书的参考学时为64学时(其中实践学时为20~24学时),教师可根据实际情况进行适当调整。
本书提供丰富的配套教学资源,包括多媒体课件、教学大纲、习题答案、程序源代码、模拟试卷、在线教学网站等。由于教材篇幅限制,实训案例的完整代码就不放在教材中,读者可登录www.ryjiaoyu.com下载。
本书由齐建玲、邓振杰主编,斯庆巴拉、侯晓芳任副主编,各章编写分工如下:第1章由邓振杰编写,第2、5章由齐建玲编写,第3、6、9、11、12章由侯晓芳编写,第4、7、8、10、13章由斯庆巴拉编写,李新荣、崔岩、王静、李瑛、孙红艳、张春娥、朱蓬华、李杰、张艳和王健也参加了大纲讨论和文稿整理工作。全书由齐建玲、邓振杰负责统稿。
由于编者水平有限,书中难免存在一些错误和不妥之处,敬请读者批评指正。

目录

目 录
第 1 章 C++与面向对象程序 设计概述 1
1.1 面向对象程序设计 1
1.1.1 基本概念 1
1.1.2 传统程序设计及其局限性 3
1.1.3 面向对象程序设计的特点 4
1.1.4 面向对象程序设计语言 5
1.2 C++语言的发展和特点 6
1.2.1 C++语言的发展 6
1.2.2 C++语言的特点 7
1.3 C++语言程序基本结构 7
1.3.1 C++语言程序基本结构 7
1.3.2 C++程序的书写格式 9
1.4 C++程序的上机实现 10
1.4.1 Visual Studio 2013集成开发环境 10
1.4.2 编辑、编译、连接和运行程序 11
习 题 15
第 2 章 C++程序设计基础 17
2.1 词法符号 17
2.1.1 标识符 17
2.1.2 关键字 18
2.1.3 运算符 18
2.1.4 分隔符 18
2.2 基本数据类型 19
2.3 常量与变量 20
2.3.1 常量 20
2.3.2 变量 23
2.4 运算符和表达式 25
2.4.1 算术运算符与算术表达式 26
2.4.2 关系运算符与关系表达式 28
2.4.3 逻辑运算符与逻辑表达式 30
2.4.4 赋值运算符与赋值表达式 31
2.4.5 位运算符 32
2.4.6 其他运算符 33
2.4.7 表达式中数据类型的转换 34
2.5 程序基本结构 35
2.5.1 顺序结构 35
2.5.2 选择结构 36
2.5.3 循环结构 41
2.5.4 转移语句 45
2.6 案例实战 46
2.6.1 实战目标 46
2.6.2 功能描述 46
2.6.3 案例实现 47
习 题 49
第 3 章 数 组 53
3.1 一维数组 53
3.1.1 一维数组的定义 53
3.1.2 一维数组的初始化 54
3.1.3 一维数组的引用 55
3.2 二维数组 56
3.2.1 二维数组的定义 56
3.2.2 二维数组的初始化 57
3.2.3 二维数组的引用 58
3.3 字符串与字符数组 58
3.3.1 字符串 58
3.3.2 字符数组的定义及初始化 59
3.3.3 字符串处理函数 59
3.4 案例实战 62
3.4.1 实战目标 62
3.4.2 功能描述 62
3.4.3 案例实现 63
习 题 65
第 4 章 函 数 68
4.1 函数的定义和声明 68
4.2 函数调用 71
4.2.1 函数调用方式 71
4.2.2 函数调用的参数传递 74
4.2.3 函数的嵌套调用和递归调用 75
4.3 变量的作用域 77
4.3.1 局部变量 77
4.3.2 全局变量 77
4.4 C++对函数的扩充 78
4.4.1 内联函数 78
4.4.2 函数重载 79
4.4.3 带默认参数值的函数 80
4.5 案例实战 81
4.5.1 实战目标 81
4.5.2 功能描述 81
4.5.3 案例实现 82
习 题 84
第 5 章 指针和引用 88
5.1 指针 88
5.1.1 指针的概念 88
5.1.2 指针与数组 93
5.1.3 指针与函数 97
5.1.4 指针与字符串 100
5.1.5 动态内存分配 102
5.2 引用 104
5.2.1 引用的概念 104
5.2.2 引用与函数 105
5.3 案例实战 107
5.3.1 实战目标 107
5.3.2 功能描述 107
5.3.3 案例实现 108
习 题 110
第 6 章 结构体和共用体 114
6.1 结构体 114
6.1.1 结构体类型的定义 114
6.1.2 结构体变量的定义与初始化 115
6.1.3 结构体变量的引用 117
6.1.4 结构体数组与应用 118
6.2 共用体 121
6.2.1 共用体类型、变量的定义 121
6.2.2 共用体的应用 122
6.3 案例实战 123
6.3.1 实战目标 123
6.3.2 功能描述 123
6.3.3 案例实现 124
习 题 126
第 7 章 类与对象 130
7.1 类的定义 130
7.2 对象的定义 133
7.2.1 对象的定义 133
7.2.2 对象对类成员的访问 135
7.3 构造函数 138
7.3.1 构造函数的定义 138
7.3.2 带参数的构造函数 140
7.3.3 带默认参数的构造函数 142
7.3.4 重载构造函数 143
7.3.5 复制构造函数 145
7.4 析构函数 147
7.5 对象指针和对象的引用 150
7.5.1 对象指针 150
7.5.2 this指针 153
7.5.3 对象的引用 155
7.6 对象数组 157
7.7 常类型 161
7.7.1 常对象 161
7.7.2 常对象成员 162
7.7.3 常指针 165
7.7.4 常引用 166
7.8 案例实战 168
7.8.1 实战目标 168
7.8.2 功能描述 168
7.8.3 案例实现 169
习 题 175
第 8 章 静态与友元 181
8.1 静态 181
8.1.1 静态数据成员 181
8.1.2 静态成员函数 185
8.2 友元 188
8.2.1 友元函数 189
8.2.2 友元类 193
8.3 案例实战 194
8.3.1 实战目标 194
8.3.2 功能描述 195
8.3.3 案例实现 195
习 题 198
第 9 章 继承与派生 203
9.1 类的继承与派生 203
9.1.1 继承和派生的概念 203
9.1.2 派生类的定义 204
9.1.3 继承方式 205
9.2 单继承 216
9.2.1 单继承的构造函数和析构函数 216
9.2.2 单继承中子对象的构造函数 220
9.3 多继承 225
9.3.1 多继承的构造函数和析构函数 226
9.3.2 二义性问题 230
9.4 虚基类 233
9.4.1 虚基类的概念 233
9.4.2 虚基类的构造函数和析构函数 235
9.4.3 虚基类的应用 237
9.4.4 基类和派生类的转换 241
9.5 案例实战 243
9.5.1 实战目标 243
9.5.2 功能描述 243
9.5.3 案例实现 244
习 题 246
第 10 章 运算符重载 252
10.1 概述 252
10.2 运算符重载规则 254
10.3 运算符重载的实现方式 255
10.3.1 用成员函数重载运算符 255
10.3.2 用友元函数重载运算符 257
10.4 常用运算符的重载 258
10.4.1 单目运算符重载 258
10.4.2 双目运算符重载 261
10.4.3 特殊运算符重载 265
10.5 案例实战 268
10.5.1 实战目标 268
10.5.2 功能描述 268
10.5.3 案例实现 268
习 题 270
第 11 章 虚函数和多态性 274
11.1 虚函数 274
11.1.1 虚函数的定义 274
11.1.2 纯虚函数 280
11.2 抽象类 281
11.3 虚析构函数 282
11.4 多态性 284
11.4.1 多态性的含义 284
11.4.2 多态性的应用 286
11.5 案例实战 287
11.5.1 实战目标 287
11.5.2 功能描述 287
11.5.3 案例实现 288
习 题 298
第 12 章 C++输入/输出流 301
12.1 输入/输出流的概念 301
12.2 标准输入/输出 302
12.2.1 标准输入 302
12.2.2 标准输出 303
12.3 文件输入/输出 306
12.3.1 文件和流 307
12.3.2 顺序文件的访问 309
12.3.3 随机文件的访问 313
12.4 案例实战 317
12.4.1 实战目标 317
12.4.2 功能描述 317
12.4.3 案例实现 317
习 题 320
第 13 章 模板和异常处理 322
13.1 模板 322
13.1.1 模板的概念 322
13.1.2 函数模板 323
13.1.3 类模板 326
13.2 异常处理 328
13.2.1 异常处理的概念 328
13.2.2 异常处理的实现 329
13.3 案例实战 332
13.3.1 实战目标 332
13.3.2 功能描述 332
13.3.3 案例实现 333
习 题 335


读者评论

赶紧抢沙发哦!

我要评论

作者介绍

邓振杰,男,1967年生,教授,工学博士,硕士生导师。现任北华航天工业学院研究生部主任。主要研究方向为:计算机应用、现代工程电磁场与磁技术应用。

同系列书

购买本书用户

相关图书

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