21天学通C++(第5版)
  • 推荐0
  • 收藏5
  • 浏览1.9K

21天学通C++(第5版)

张启玉 , 刘刚 (作者) 

  • 丛  书:21天学编程系列
  • 书  号:978-7-121-33632-4
  • 出版日期:2018-07-18
  • 页  数:420
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:n-y
纸质版 ¥59.80
本书从初学者的角度较全面地介绍了C++的相关知识,较系统地介绍了C++语言的基础内容。本书
包括6 篇共21 章的内容。其中,第1 篇是C++数据表达篇,包括C++入门、变量和数据类型、运算符和
表达式以及程序控制结构等;第2 篇是C++面向过程设计篇,包括函数、编译预处理、数组、指针和构
造数据类型等内容;第3 篇是C++面向对象编程篇,主要包括类和对象、继承、多态、运算符重载和输
入/输出流等内容;第4 篇主要介绍了C++高级特性,内容包括文件、命名空间和引用与内存管理;第5
篇的内容主要是C++编程实践,主要分析了标准模板库STL、模板与C++标准库和异常处理等;最后一
篇结合学生成绩管理系统开发实例,讲解如何使用C++进行实际开发。
本书适合没有编程基础的C++语言初学者作为入门教程,也可作为大中专院校师生和培训班的教材,
对于C++语言开发的爱好者,本书也有较大的参考价值。
极具影响力原创计算机编程图书,丛书畅销10年!程序员案头手册,只需21天轻松学通编程技能!
前言

千里之行,始于足下!
——老子

“21天学编程系列”自2009年1月上市以来一直受到广大读者的青睐。该系列中的大部分图书从一上市就登上了编程类图书销售排行榜的前列,很多大中专院校也将该系列中的一些图书作为教材使用,目前这些图书已经多次印刷、改版。可以说,“21天学编程系列”是自2009年以来国内原创计算机编程图书颇具影响力的品牌之一。

为了使该系列图书能紧跟技术和教学的发展,更加适合读者学习和学校教学,我们结合最新技术和读者的建议,对该系列图书进行了改版(即第5 版)。本书便是该系列中的C++分册。

本书有何特色

1.细致体贴的讲解
为了让读者更快上手,本书特别设计了适合初学者的学习方式,用准确的语言总结概念、用直观的图示演示过程、用详细的注释解释代码、用形象的比方帮助记忆。

1 知识点介绍 准确、清晰是其显著特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。
2 范例 书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。
3 代码清单 与范例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号,便于学习。
4 运行结果 给出范例运行结果和对应图示,帮助读者更直观地理解范例代码。
5 范例解析 对范例代码中的关键代码行进行逐一解释,有助于读者掌握相关概念和知识。
6 贴心的提示 为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下。
? 提示:通常是一些贴心的提醒,用于加深读者印象,或提供建议、提出解决问题的方法。
? 注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
? 警告:对操作不当或理解偏差将会造成的灾难性后果给出警示,以加深读者印象。
7 习题 每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握。
8 微课 使用手机App(例如微信)扫描二维码,可在线观看配套教学微课。

2.实用超值的配套资源
为了帮助读者比较直观地学习,本书提供配套资源,内容包括多媒体视频、电子教案(PPT)和实例源代码等。
使用浏览器访问本书页面(http://www.broadview.com.cn/33632),可在“下载资源”处查看和下载本书配套资源文件。

◆多媒体视频
本书配有长达12 小时教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作
者亲自配音、演示,手把手教读者使用。
◆电子教案(PPT)
本书可以作为高校相关课程的教材或课外辅导书,所以作者特别为本书制作了电子教案PPT),以方便老师教学使用。
◆职场面试法宝
本书附赠“职场面试法宝”,含常见的职场经典面试题及解答。

3.提供完善的技术支持
本书的技术支持论坛为:http://www.rzchina.net,读者可以在上面提问交流。另外,论坛上还有一些教程、视频动画和各种技术文章,可帮助读者提高开发水平。

推荐的学习计划表
本书作者在长期从事相关培训或教学实践过程中,归纳了最适合初学者的学习模式,并参
考了多位专家的意见,为读者总结了合理的学习时间分配方式,列表如下。

第1周
第1天
了解C++的历史及其特点
掌握C++编译环境及第一个C++程序
熟悉C++源程序的基本组成和组成元素
?
第2天
掌握C++中的常量、变量及其定义
掌握C++中数据类型及其转换
熟练掌握在C++程序中如何声明及使用常量、变量和数据类型
??
第3天
掌握C++支持的各种运算符及应用
掌握C++支持的由各种运算符和常量变量构成的表达式、语句及其应用

第4天
了解C++的面向过程的结构化设计方法
熟练掌握C++支持的顺序结构、选择结构和循环结构
掌握转向语句的功能及其使用

第5天
掌握C++中函数的声明与定义
熟练掌握函数的参数、原型和返回值,以及在程序中调用函数了解C++中函数的重载

第6天
了解预处理命令的功能
掌握宏定义及其使用
掌握文件包含的使用
掌握常用的编译预处理命令

第7天
了解数组的概念
熟练掌握一维和多维数组的声明与引用
掌握数组的多种赋值方法
熟悉数组在实际程序中的应用

第2周
第8天
了解指针的概念
熟练掌握指针的定义和运算
掌握指针与数组、函数和字符串的运算
掌握指向指针的使用

第9天
掌握结构体、共用体和枚举类型的定义和使用
了解类型重定义符的使用
了解位域的应用

第10天
掌握C++中类和对象的概念
掌握C++中类的构造函数、析构函数的定义和应用
掌握友元的概念和相关应用

第11天
了解C++中继承与派生的概念
掌握C++支持的派生方式
掌握派生类的构造函数和析构函数的定义和使用
掌握多重继承和虚基类的应用

第12天
理解多态的概念
熟练掌握C++中多态的实现方法
熟练掌握虚函数的定义及其使用
掌握纯虚函数和抽象类

第13天
理解运算符重载的概念及定义
掌握运算符重载的两种形式及其实现
掌握特殊运算符的重载

第14天
了解C++中引入标准输入/输出流的原因
掌握常用标准输入/输出流对象
掌握输入/输出流成员函数的使用和格式控制

第3周
第15天
了解文件和流的概念
掌握文件的打开与关闭操作
掌握顺序文件和随机文件的读写及其应用

第16天
理解命名空间的作用
掌握命名空间的使用方法
掌握类的作用域及this 指针的应用方法

第17天
理解引用的概念
掌握引用在实际程序中的使用和操作及其与指针的区别
掌握动态内存分配的方法

第18天
了解标准模板库STL 的基本概念及其在C++程序设计中的作用
掌握常用的STL 容器的类别及其相关应用
掌握算法和迭代器的使用

第19天
理解模板的概念
掌握函数模板和类模板的定义和生成
理解C++标准库及字符串库

第20天
了解错误与异常的概念及其处理基本原则
掌握实际程序中实现异常处理的方法
了解异常处理机制

第21天
了解开发一个应用程序的软件工程生命周期
掌握使用C++开发具体应用程序的流程
掌握使用Visual C++ 6.0 的控制台程序开发C++应用程序

本书适合哪些读者阅读

本书非常适合以下几类人员阅读:
◆从未接触过C++编程,但对C++有兴趣的自学人员;
◆各大中专院校的在校学生和相关授课老师;
◆了解一些C++,但还需要进一步学习的人员;
◆在某些需要使用C++编程的特殊领域的工作人员;
◆其他编程爱好者。

本书作者
本书主要由刘蕾编写,参与编写的还有:张昆、张友、赵桂芹、张金霞、张增强、刘桂珍、陈冠军、魏春、张燕、孟春燕、顼宇峰、李杨坡。由于水平有限,书中难免存在疏漏和不足之处,恳请广大读者和专家批评、指正。

目录

第1 篇 C++数据表达篇
第1 章 C++入门 ............................................................................................................................... 1
1.1 C++概述 ............................................................................................................................... 1
1.1.1 C++的历史沿革 ...................................................................................................................... 1
1.1.2 C++与面向对象 ...................................................................................................................... 1
1.1.3 从C 语言到C++ ..................................................................................................................... 2
1.2 程序设计方法 ...................................................................................................................... 3
1.2.1 结构化程序设计 ...................................................................................................................... 3
1.2.2 面向对象程序设计 .................................................................................................................. 4
1.2.3 程序设计方法比较 .................................................................................................................. 4
1.3 C++开发环境——Visual C++ 6.0 ....................................................................................... 5
1.3.1 工作区 ..................................................................................................................................... 5
1.3.2 编辑区(Editor Area) ........................................................................................................... 6
1.3.3 输出窗口(Output Window) ................................................................................................ 6
1.3.4 菜单栏、工具栏、状态栏 ...................................................................................................... 7
1.4 第一个C++程序——Hello World ....................................................................................... 7
1.4.1 创建源程序 ............................................................................................................................. 7
1.4.2 编译连接 ................................................................................................................................. 9
1.4.3 调试运行 ................................................................................................................................. 9
1.5 C++源程序组成元素 ......................................................................................................... 10
1.5.1 基本组成 ............................................................................................................................... 10
1.5.2 基本符号 ............................................................................................................................... 11
1.5.3 标识符 ................................................................................................................................... 11
1.5.4 保留字 ................................................................................................................................... 11
1.5.5 分隔符 ................................................................................................................................... 12
1.6 小结 .................................................................................................................................... 12
1.7 习题 .................................................................................................................................... 12

第2 章 变量和数据类型 ................................................................................................................. 16
2.1 常量 .................................................................................................................................... 16
2.1.1 声明常量 ............................................................................................................................... 16
2.1.2 常量的应用 ........................................................................................................................... 17
2.2 变量 .................................................................................................................................... 19
2.2.1 声明变量 ............................................................................................................................... 19
2.2.2 变量的命名规则 .................................................................................................................... 19
2.2.3 变量的作用范围 .................................................................................................................... 20
2.2.4 变量的应用 ........................................................................................................................... 21
2.3 基本数据类型 .................................................................................................................... 22
2.3.1 整型 ....................................................................................................................................... 23
2.3.2 字符型 ................................................................................................................................... 24
2.3.3 浮点型 ................................................................................................................................... 26
2.3.4 布尔型 ................................................................................................................................... 26
2.4 类型转换 ............................................................................................................................ 27
2.4.1 隐式转换 ............................................................................................................................... 27
2.4.2 显式转换 ............................................................................................................................... 28
2.5 小结 .................................................................................................................................... 29
2.6 习题 .................................................................................................................................... 29

第3 章 运算符和表达式 ................................................................................................................. 32
3.1 运算符 ................................................................................................................................ 32
3.1.1 算术运算符 ........................................................................................................................... 32
3.1.2 赋值运算符 ........................................................................................................................... 34
3.1.3 关系运算符 ........................................................................................................................... 35
3.1.4 逻辑运算符 ........................................................................................................................... 35
3.1.5 条件运算符 ........................................................................................................................... 36
3.1.6 逗号运算符 ........................................................................................................................... 37
3.1.7 位运算符 ............................................................................................................................... 37
3.1.8 sizeof 运算符 ......................................................................................................................... 38
3.1.9 运算符的优先级 .................................................................................................................... 38
3.2 表达式 ................................................................................................................................ 39
3.2.1 算术表达式 ........................................................................................................................... 40
3.2.2 关系表达式 ........................................................................................................................... 40
3.2.3 逻辑表达式 ........................................................................................................................... 41
3.2.4 条件表达式 ........................................................................................................................... 42
3.2.5 赋值表达式 ........................................................................................................................... 43
3.2.6 逗号表达式 ........................................................................................................................... 43
3.3 语句 .................................................................................................................................... 44
3.3.1 语句中的空格........................................................................................................................ 44
3.3.2 空语句 ................................................................................................................................... 45
3.3.3 声明语句 ............................................................................................................................... 45
3.3.4 赋值语句 ............................................................................................................................... 46
3.4 小结 .................................................................................................................................... 46
3.5 习题 .................................................................................................................................... 46

第4 章 程序控制结构 ..................................................................................................................... 50
4.1 顺序结构 ............................................................................................................................ 50
4.1.1 表达式语句 ........................................................................................................................... 50
4.1.2 输入语句 ............................................................................................................................... 51
4.1.3 输出语句 ............................................................................................................................... 51
4.1.4 格式控制符 ........................................................................................................................... 52
4.1.5 应用示例 ............................................................................................................................... 55
4.2 选择结构 ............................................................................................................................ 56
4.2.1 if 语句 .................................................................................................................................... 56
4.2.2 if?else 语句 .......................................................................................................................... 57
4.2.3 多重if…else 语句 ................................................................................................................. 58
4.2.4 switch 语句 ............................................................................................................................ 60
4.2.5 应用示例 ............................................................................................................................... 62
4.3 循环结构 ............................................................................................................................ 64
4.3.1 for 语句 .................................................................................................................................. 64
4.3.2 while 语句 .............................................................................................................................. 65
4.3.3 do?while 语句 ...................................................................................................................... 66
4.3.4 多重循环 ............................................................................................................................... 66
4.3.5 应用示例 ............................................................................................................................... 68
4.4 转向语句 ............................................................................................................................ 68
4.5 小结 .................................................................................................................................... 70
4.6 习题 .................................................................................................................................... 70

第2 篇 C++面向过程设计篇
第5 章 函数 ..................................................................................................................................... 74
5.1 函数简介 ............................................................................................................................ 74
5.1.1 函数概述 ............................................................................................................................... 74
5.1.2 定义函数 ............................................................................................................................... 75
5.1.3 应用示例 ............................................................................................................................... 76
5.2 函数参数及原型 ................................................................................................................ 77
5.2.1 函数的参数及返回值 ............................................................................................................ 77
5.2.2 函数原型 ............................................................................................................................... 78
5.2.3 main()函数 ............................................................................................................................. 78
5.2.4 带参数的main()函数 ............................................................................................................ 80
5.3 调用函数 ............................................................................................................................ 81
5.3.1 函数调用格式........................................................................................................................ 81
5.3.2 传值调用 ............................................................................................................................... 82
5.3.3 引用调用 ............................................................................................................................... 83
5.3.4 嵌套调用 ............................................................................................................................... 84
5.3.5 递归调用 ............................................................................................................................... 84
5.3.6 带默认形参值的函数 ............................................................................................................ 86
5.4 变量的作用域 .................................................................................................................... 86
5.4.1 局部变量 ............................................................................................................................... 87
5.4.2 全局变量 ............................................................................................................................... 88
5.5 函数的作用域 .................................................................................................................... 89
5.6 函数重载 ............................................................................................................................ 90
5.6.1 函数重载的定义 .................................................................................................................... 91
5.6.2 参数类型不同的函数重载 .................................................................................................... 91
5.6.3 参数个数不同的重载函数 .................................................................................................... 92
5.7 小结 .................................................................................................................................... 93
5.8 习题 .................................................................................................................................... 93

第6 章 编译预处理 ......................................................................................................................... 96
6.1 预处理命令 ........................................................................................................................ 96
6.2 宏 ........................................................................................................................................ 96
6.2.1 宏概述 ................................................................................................................................... 96
6.2.2 不带参数的宏定义 ................................................................................................................ 97
6.2.3 取消宏 ................................................................................................................................... 98
6.2.4 宏嵌套 ................................................................................................................................. 100
6.2.5 带参数的宏定义 .................................................................................................................. 100
6.2.6 内联函数 ............................................................................................................................. 104
6.2.7 宏与函数的区别 .................................................................................................................. 105
6.3 文件包含 .......................................................................................................................... 106
6.3.1 #include 命令 ....................................................................................................................... 106
6.3.2 合理使用文件包含 .............................................................................................................. 107
6.4 条件编译 .......................................................................................................................... 108
6.4.1 #ifdef 形式 ........................................................................................................................... 108
6.4.2 #ifndef 形式 ......................................................................................................................... 110
6.4.3 #if 形式 ................................................................................................................................ 110
6.5 其他命令 ........................................................................................................................... 111
6.5.1 #error 命令 ........................................................................................................................... 111
6.5.2 #line 命令 ............................................................................................................................ 112
6.6 小结 .................................................................................................................................. 112
6.7 习题 .................................................................................................................................. 112

第7 章 数组 ................................................................................................................................... 115
7.1 声明数组 .......................................................................................................................... 115
7.1.1 声明一维数组...................................................................................................................... 115
7.1.2 声明多维数组...................................................................................................................... 116
7.2 引用数组 .......................................................................................................................... 117
7.2.1 引用一维数组...................................................................................................................... 117
7.2.2 引用多维数组...................................................................................................................... 118
7.3 数组的赋值 ...................................................................................................................... 119
7.3.1 初始化数组 ......................................................................................................................... 119
7.3.2 通过赋值表达式赋值 .......................................................................................................... 121
7.3.3 通过输入语句赋值 .............................................................................................................. 122
7.3.4 通过循环语句赋值 .............................................................................................................. 122
7.3.5 多维数组的赋值 .................................................................................................................. 124
7.4 字符串 .............................................................................................................................. 124
7.4.1 传统字符串 ......................................................................................................................... 125
7.4.2 字符数组 ............................................................................................................................. 127
7.5 数组与函数 ...................................................................................................................... 128
7.6 数组应用 .......................................................................................................................... 130
7.6.1 顺序查找 ............................................................................................................................. 130
7.6.2 折半查找 ............................................................................................................................. 131
7.6.3 排序 ..................................................................................................................................... 134
7.7 小结 .................................................................................................................................. 136
7.8 习题 .................................................................................................................................. 136

第8 章 指针 ................................................................................................................................... 139
8.1 指针概述 .......................................................................................................................... 139
8.1.1 指针是什么 ......................................................................................................................... 139
8.1.2 定义指针 ............................................................................................................................. 140
8.1.3 指针的初始化...................................................................................................................... 140
8.2 指针的运算 ...................................................................................................................... 142
8.2.1 取地址与取值运算 .............................................................................................................. 142
8.2.2 指针的算术运算 .................................................................................................................. 143
8.2.3 指针的关系运算 .................................................................................................................. 145
8.2.4 指针的赋值运算 .................................................................................................................. 146
8.2.5 void 指针和const 指针 ....................................................................................................... 146
8.3 指针与数组 ...................................................................................................................... 148
8.3.1 访问数组元素的方法 .......................................................................................................... 148
8.3.2 多维数组元素的访问 .......................................................................................................... 150
8.3.3 数组指针与指针数组 .......................................................................................................... 151
8.4 指针与函数 ...................................................................................................................... 152
8.4.1 指针作为函数参数 .............................................................................................................. 152
8.4.2 指针型函数 ......................................................................................................................... 154
8.4.3 函数指针 ............................................................................................................................. 155
8.5 指针与字符串 .................................................................................................................. 156
8.6 二级指针 .......................................................................................................................... 157
8.7 小结 .................................................................................................................................. 158
8.8 习题 .................................................................................................................................. 159

第9 章 构造数据类型 ................................................................................................................... 162
9.1 结构体 .............................................................................................................................. 162
9.1.1 结构体概述 ......................................................................................................................... 162
9.1.2 结构体类型说明 .................................................................................................................. 163
9.1.3 定义结构体类型变量 .......................................................................................................... 164
9.1.4 初始化结构体变量 .............................................................................................................. 165
9.1.5 引用结构体成员变量 .......................................................................................................... 167
9.1.6 结构体作为函数参数 .......................................................................................................... 169
9.2 共用体 .............................................................................................................................. 170
9.2.1 共用体类型说明 .................................................................................................................. 170
9.2.2 定义共用体类型变量 .......................................................................................................... 171
9.2.3 引用共用体成员变量 .......................................................................................................... 171
9.3 枚举 .................................................................................................................................. 173
9.3.1 定义枚举类型...................................................................................................................... 173
9.3.2 定义枚举类型变量 .............................................................................................................. 175
9.3.3 引用枚举类型变量 .............................................................................................................. 176
9.4 类型重定义typedef ......................................................................................................... 177
9.5 位域 .................................................................................................................................. 179
9.5.1 定义位域变量...................................................................................................................... 179
9.5.2 使用位域 ............................................................................................................................. 180
9.6 小结 .................................................................................................................................. 181
9.7 习题 .................................................................................................................................. 182

第3 篇 C++面向对象编程篇
第10 章 类和对象 ........................................................................................................................ 185
10.1 类 .................................................................................................................................... 185
10.1.1 什么是类 ........................................................................................................................... 185
10.1.2 从结构到类 ....................................................................................................................... 186
10.1.3 类的声明 ........................................................................................................................... 188
10.1.4 类的访问控制 .................................................................................................................... 189
10.1.5 类的定义 ........................................................................................................................... 191
10.2 对象 ................................................................................................................................ 193
10.2.1 对象概述 ........................................................................................................................... 193
10.2.2 对象数组 ........................................................................................................................... 194
10.3 构造函数 ........................................................................................................................ 196
10.3.1 构造函数的概念 ................................................................................................................ 196
10.3.2 构造函数的声明和定义 .................................................................................................... 196
10.3.3 构造函数的调用 ................................................................................................................ 198
10.3.4 不带参数的构造函数 ........................................................................................................ 198
10.3.5 带有默认参数的构造函数 ................................................................................................ 199
10.3.6 构造函数的重载 ................................................................................................................ 201
10.4 拷贝构造函数 ................................................................................................................ 202
10.4.1 定义拷贝构造函数 ............................................................................................................ 202
10.4.2 调用拷贝构造函数 ............................................................................................................ 203
10.4.3 默认拷贝构造函数 ............................................................................................................ 205
10.5 析构函数 ........................................................................................................................ 206
10.6 友元 ................................................................................................................................ 207
10.6.1 友元函数 ........................................................................................................................... 207
10.6.2 友元成员 ........................................................................................................................... 209
10.6.3 友元类 ............................................................................................................................... 210
10.7 小结 ................................................................................................................................ 212
10.8 习题 ................................................................................................................................ 212

第11 章 继承 ................................................................................................................................. 216
11.1 继承与派生 .................................................................................................................... 216
11.1.1 继承与派生概述 ................................................................................................................ 216
11.1.2 声明派生类 ........................................................................................................................ 217
11.2 访问控制 ........................................................................................................................ 217
11.2.1 公有继承 ............................................................................................................................ 218
11.2.2 私有派生 ............................................................................................................................ 220
11.2.3 保护继承 ............................................................................................................................ 221
11.3 派生类的构造函数和析构函数 .................................................................................... 225
11.3.1 执行顺序和构建原则 ........................................................................................................ 225
11.3.2 派生类的构造函数 ............................................................................................................ 225
11.3.3 派生类析构函数的构建 .................................................................................................... 226
11.4 多重继承 ........................................................................................................................ 228
11.4.1 二义性问题 ........................................................................................................................ 228
11.4.2 声明多重继承 .................................................................................................................... 230
11.4.3 多重继承的构造函数和析构函数 .................................................................................... 232
11.5 虚基类 ............................................................................................................................ 234
11.5.1 虚基类的引入 .................................................................................................................... 234
11.5.2 定义虚基类 ........................................................................................................................ 235
11.5.3 虚基类的构造函数和初始化 ............................................................................................ 237
11.6 小结 ................................................................................................................................ 238
11.7 习题 ................................................................................................................................ 238

第12 章 多态 ................................................................................................................................ 243
12.1 多态简介 ........................................................................................................................ 243
12.1.1 什么是多态 ....................................................................................................................... 243
12.1.2 多态的作用 ....................................................................................................................... 244
12.1.3 多态的引入 ....................................................................................................................... 244
12.2 函数重载 ........................................................................................................................ 246
12.3 虚函数 ............................................................................................................................ 247
12.3.1 虚函数的引入 .................................................................................................................... 247
12.3.2 定义虚函数 ....................................................................................................................... 249
12.3.3 使用虚函数 ....................................................................................................................... 250
12.3.4 多重继承和虚函数 ............................................................................................................ 251
12.3.5 使用虚函数的注意事项 .................................................................................................... 253
12.4 抽象类 ............................................................................................................................ 253
12.4.1 纯虚函数 ........................................................................................................................... 253
12.4.2 抽象类 ............................................................................................................................... 255
12.5 小结 ................................................................................................................................ 256
12.6 习题 ................................................................................................................................ 257

第13 章 运算符重载 .................................................................................................................... 260
13.1 运算符重载简介 ............................................................................................................ 260
13.1.1 运算符重载的定义 ............................................................................................................ 260
13.1.2 运算符重载的特点 ............................................................................................................ 261
13.1.3 运算符重载的规则 ............................................................................................................ 262
13.2 运算符重载的形式 ........................................................................................................ 263
13.2.1 重载为类的成员函数 ........................................................................................................ 263
13.2.2 双目运算符重载为成员函数 ............................................................................................ 263
13.2.3 单目运算符重载为成员函数 ............................................................................................ 264
13.2.4 运算符重载为类的友元函数 ............................................................................................ 266
13.2.5 双目运算符重载为友元函数 ............................................................................................ 266
13.2.6 单目运算符重载为友元函数 ............................................................................................ 267
13.2.7 成员运算符函数与友元运算符函数的比较 .................................................................... 269
13.3 特殊运算符的重载 ........................................................................................................ 269
13.3.1 “++”和“??”的重载 ................................................................................................... 269
13.3.2 赋值运算符“=”的重载.................................................................................................. 271
13.3.3 下标运算符“[ ]”的重载 ................................................................................................ 273
13.4 类类型转换 .................................................................................................................... 274
13.5 小结 ................................................................................................................................ 276
13.6 习题 ................................................................................................................................ 276

第14 章 输入/输出流 ................................................................................................................... 280
14.1 输入/输出流的引入 ....................................................................................................... 280
14.1.1 printf 与scanf 的缺陷 ....................................................................................................... 280
14.1.2 输入/输出流简介 .............................................................................................................. 281
14.1.3 输入/输出流类层次 ........................................................................................................... 282
14.2 标准输入/输出流 ........................................................................................................... 283
14.2.1 标准输出流对象 ................................................................................................................ 283
14.2.2 标准输入流对象 ................................................................................................................ 284
14.2.3 标准错误输出流对象 ........................................................................................................ 285
14.3 输入/输出流成员函数 ................................................................................................... 286
14.3.1 get()函数:输出字符串 .................................................................................................... 286
14.3.2 getline()函数:获取字符串 .............................................................................................. 288
14.4 输入/输出的格式控制 ................................................................................................... 288
14.4.1 用ios 类的成员函数进行格式控制 ................................................................................. 288
14.4.2 使用格式控制符进行格式控制 ........................................................................................ 291
14.5 用户自定义数据类型的输入/输出 ............................................................................... 293
14.5.1 重载输出运算符“<<” ................................................................................................... 293
14.5.2 重载输入运算符“>>” ................................................................................................... 294
14.6 小结 ................................................................................................................................ 296
14.7 习题 ................................................................................................................................ 296

第4 篇 C++高级特性篇
第15 章 文件 ................................................................................................................................ 299
15.1 文件和流 ........................................................................................................................ 299
15.1.1 文件概述 ........................................................................................................................... 299
15.1.2 文件流类 ........................................................................................................................... 300
15.2 文件的打开与关闭 ........................................................................................................ 301
15.2.1 打开文件 ........................................................................................................................... 301
15.2.2 关闭文件 ........................................................................................................................... 303
15.3 文件的顺序读写 ............................................................................................................ 304
15.3.1 读写文本文件 .................................................................................................................... 304
15.3.2 文本文件应用示例 ............................................................................................................ 305
15.3.3 二进制文件概述 ................................................................................................................ 307
15.3.4 读写二进制文件 ................................................................................................................ 307
15.4 文件的随机读写 ............................................................................................................ 310
15.5 小结 ................................................................................................................................ 312
15.6 习题 ................................................................................................................................ 312

第16 章 命名空间 ........................................................................................................................ 315
16.1 命名空间简介 ................................................................................................................ 315
16.1.1 什么是命名空间 ................................................................................................................ 315
16.1.2 定义命名空间 .................................................................................................................... 316
16.2 使用命名空间 ................................................................................................................ 318
16.2.1 使用作用域运算符引用成员 ............................................................................................ 318
16.2.2 使用using 指令 ................................................................................................................. 319
16.2.3 使用using 声明 ................................................................................................................. 320
16.2.4 using 指令与using 声明的比较 ........................................................................................ 321
16.3 类的作用域 .................................................................................................................... 321
16.3.1 静态数据成员 .................................................................................................................... 321
16.3.2 静态成员函数 .................................................................................................................... 323
16.4 作用域 ............................................................................................................................ 324
16.4.1 局部作用域 ....................................................................................................................... 324
16.4.2 全局作用域 ....................................................................................................................... 326
16.4.3 作用域嵌套 ....................................................................................................................... 327
16.5 this 指针 ......................................................................................................................... 328
16.6 小结 ................................................................................................................................ 330
16.7 习题 ................................................................................................................................ 330

第17 章 引用与内存管理 ............................................................................................................. 333
17.1 引用 ................................................................................................................................ 333
17.1.1 引用概述 ........................................................................................................................... 333
17.1.2 引用的使用 ....................................................................................................................... 334
17.2 引用的操作 .................................................................................................................... 335
17.2.1 引用作为函数参数 ............................................................................................................ 335
17.2.2 引用作为返回值 ................................................................................................................ 336
17.3 动态内存分配 ................................................................................................................ 337
17.3.1 申请动态内存 .................................................................................................................... 337
17.3.2 释放空间 ........................................................................................................................... 338
17.3.3 malloc 和free 库函数 ........................................................................................................ 340
17.4 const 引用 ...................................................................................................................... 341
17.5 指针与引用的区别 ........................................................................................................ 343
17.6 小结 ................................................................................................................................ 344
17.7 习题 ................................................................................................................................ 344

第5 篇 C++编程实践篇
第18 章 标准模板库STL ............................................................................................................ 347
18.1 标准模板库 .................................................................................................................... 347
18.1.1 STL 概述 ........................................................................................................................... 347
18.1.2 STL 的引入 ....................................................................................................................... 347
18.1.3 STL 的组成 ....................................................................................................................... 348
18.2 算法 ................................................................................................................................ 349
18.3 容器 ................................................................................................................................ 351
18.3.1 什么是容器 ....................................................................................................................... 351
18.3.2 向量 ................................................................................................................................... 351
18.3.3 列表 ................................................................................................................................... 353
18.3.4 集合 ................................................................................................................................... 355
18.3.5 双端队列 ........................................................................................................................... 356
18.3.6 栈 ....................................................................................................................................... 357
18.3.7 映射和多重映射 ................................................................................................................ 358
18.4 迭代器 ............................................................................................................................ 359
18.5 小结 ................................................................................................................................ 361
18.6 习题 ................................................................................................................................ 361

第19 章 模板与C++标准库 ........................................................................................................ 364
19.1 模板概述 ........................................................................................................................ 364
19.1.1 模板简介 ........................................................................................................................... 364
19.1.2 模板的引入 ....................................................................................................................... 365
19.2 函数模板 ........................................................................................................................ 366
19.2.1 定义函数模板 .................................................................................................................... 366
19.2.2 生成函数模板 .................................................................................................................... 367
19.2.3 函数模板的异常处理 ........................................................................................................ 368
19.3 类模板 ............................................................................................................................ 369
19.3.1 定义类模板 ....................................................................................................................... 369
19.3.2 模板类 ............................................................................................................................... 370
19.4 C++标准库概述 ............................................................................................................. 372
19.5 字符串库 ........................................................................................................................ 373
19.5.1 读写字符串 ....................................................................................................................... 373
19.5.2 字符串赋值 ....................................................................................................................... 373
19.5.3 字符串比较 ....................................................................................................................... 374
19.5.4 字符串长度和空字符串 .................................................................................................... 375
19.6 小结 ................................................................................................................................ 377
19.7 习题 ................................................................................................................................ 377

第20 章 异常处理 ........................................................................................................................ 380
20.1 错误与异常 .................................................................................................................... 380
20.1.1 什么是异常 ....................................................................................................................... 380
20.1.2 异常处理的基本思想 ........................................................................................................ 380
20.2 异常处理的实现 ............................................................................................................ 382
20.2.1 使用try/catch 捕获异常 .................................................................................................... 382
20.2.2 使用throw 抛出异常 ........................................................................................................ 383
20.2.3 应用示例 ........................................................................................................................... 384
20.3 类和结构的异常处理 .................................................................................................... 385
20.3.1 异常处理中的构造和析构 ................................................................................................ 386
20.3.2 处理结构类型的异常 ........................................................................................................ 387
20.4 异常处理机制 ................................................................................................................ 388
20.5 小结 ................................................................................................................................ 390
20.6 习题 ................................................................................................................................ 390

第6 篇 实例篇
第21 章 简单的学生成绩管理系统开发实例 ............................................................................. 393
21.1 需求分析 ........................................................................................................................ 393
21.2 总体设计 ........................................................................................................................ 393
21.3 功能模块的实现 ............................................................................................................ 394
21.3.1 成绩录入模块 .................................................................................................................... 395
21.3.2 成绩统计模块 .................................................................................................................... 395
21.3.3 成绩排名模块 .................................................................................................................... 396
21.3.4 成绩查询模块 .................................................................................................................... 398
21.3.5 输出模块 ........................................................................................................................... 399
21.4 系统集成 ........................................................................................................................ 399
21.5 系统实现 ........................................................................................................................ 401
21.5.1 结构和变量定义部分 ........................................................................................................ 402
21.5.2 功能函数定义部分 ............................................................................................................ 403
21.5.3 主函数部分 ....................................................................................................................... 404
21.6 小结 ................................................................................................................................ 406

读者评论

  • 百度网盘下载资源好慢

    东东发表于 2019/8/6 15:54:18
  • 请问下载资源在哪

    123456153发表于 2019/2/5 12:16:31
  • 请问有没有实验题的参**,有些还真弄不懂。

    三分发表于 2018/10/16 12:09:20
  • 你好,请问下下载资源在哪

    WAWA135600发表于 2018/8/19 20:49:58
    • 有了,看到了,谢谢

      WAWA135600发表于 2018/8/22 19:49:35
  • 请问下载资源在哪儿

    李珩懿发表于 2018/8/5 18:39:32

同系列书

  • 21天学通Python(第2版)

    张启玉 刘刚 (作者)

    本书全面、系统、深入地讲解了Python编程基础语法与高级应用。在讲解过程中,通过大量实际操作的实例将Python语言知识全面、系统、深入地呈现给读者。此外,作...

    ¥59.80
  • 21天学通Visual Basic(第5版)

    张启玉 刘刚 (作者)

    本书主要针对没有程序设计基础的读者,详细介绍了Visual Basic的基本概念和编程技术,是Visual Basic的入门教程。书中通过大量的范例及综合练习来...

    ¥59.80
  • 21天学通Java(第5版)

    张启玉 刘刚 (作者)

    本书是Java语言的入门教程,由浅入深、循序渐进地讲授如何使用Java语言进行程序开发。全书内容包括Java开发环境、Java基本语法知识、Java面向对象特点...

    ¥59.80
  • 21天学通C语言(第5版)

    张启玉 刘刚 (作者)

    本书是C语言的入门教程,详细介绍了C语言的基本概念和编程技术。本书分为八篇,共21章内容。第一篇为C语言入门篇,该篇介绍了C语言程序的特点及编程的准备。第二篇为...

    ¥59.80
  • 21天学通JavaScript(第4版)

    北京源智天下科技有限公司 张启玉 刘刚 (作者)

    JavaScript 是Web 开发中应用最早、发展最成熟、用户最多的脚本语言。其语法简洁,代码可读性在众多脚本语言中最好,它在使用时不用考虑数据类型,是真正意...

    ¥59.80

相关图书

Java编程方法论:响应式Spring Reactor 3设计与实现

李飞 (作者)

《Java编程方法论:响应式Spring Reactor 3设计与实现》主要专注于解读Spring Reactor 3的代码设计与实现。全书共10章,其中第1、...

 

程序员修炼之道:通向务实的最高境界(第2版)

THOMAS, DAVID; HUNT, ANDREW (作者)

《程序员修炼之道》之所以在全球范围内广泛传播,被一代代开发者奉为圭臬,盖因它可以创造出真正的价值:或编写出更好的软件,或探究出编程的本质,而所有收获均不依赖于特...

¥89.00

ASP.NET Core 3框架揭秘

蒋金楠 (作者)

本书主要阐述 ASP.NET Core 最核心的部分——请求处理管道。通过阅读本书,读者可以深刻系统地了解 ASP.NET Core 应用在启动过程中管道的构建...

¥199.00

Java持续交付

Daniel Bryant (作者) 张若飞 (译者)

随着Java 8的发布,以及Spring引导等web/微服务框架的可用性,设计和实现Java驱动的应用程序从来都不是一个更好的时机。但是,在不断向生产环境交付工...

¥119.00

读故事学编程——Python王国历险记(双色)

李伟 (作者)

这是一本故事书,也是一本编程书。<br>小男孩派森无意中闯入神秘国度—Python 王国,恰好遇到了国王的鹦鹉,于是他们开始了奇幻的冒险之旅。在这个过程中,他们...

¥69.00

21天学通HTML5+CSS3(第2版)

张启玉 刘刚 (作者)

本书全面、系统、深入地讲解了HTML5+CSS3网页设计与编程的基础知识与高级应用。在讲解过程中,通过大量取自实际操作的案例,将网页开发知识全面、系统、深入地呈...

¥89.90