软件开发视频大讲堂 C++从入门到精通 第5版
作者: 明日科技编著
出版时间: 2021年版
丛编项: 软件开发视频大讲堂
内容简介
《C++从入门到精通(第5版)》从初学者角度出发,以通俗易懂的语言和丰富多彩的实例,详细讲解了C++程序开发需要掌握的知识。本书分为4篇共18章:第1篇是基础知识,包括绪论,数据类型,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,以及构造数据类型;第2篇是核心技术,包括面向对象编程,类和对象,以及继承与派生;第3篇是高级应用,包括模板、太阳城
模板库、RTTI与异常处理、程序调试、文件操作和网络通信;第4篇是项目实战,结合人事考勤管理系统,依照软件项目的开发流程,讲述如何进行实际开发。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,读者可以轻松领会C++的强大功能,快速提高开发能力。
目录
第1篇 基础知识
第1章 绪论 2
视频讲解:28分钟
1.1 C++历史背景 2
1.1.1 计算机—20世纪最伟大的发明 2
1.1.2 C++发展历程 3
1.1.3 C++领域杰出人物 3
1.2 常用开发环境 5
1.2.1 Visual C++ 6.0 5
1.2.2 Visual Studio 2019 5
1.2.3 GCC/G++ 5
1.2.4 Dev-C 6
1.2.5 Eclipse 6
1.3 认知C++程序代码 7
1.4 C++工程项目文件 8
1.5 使用Visual C++ 6.0创建程序 9
1.6 编译与连接过程 11
1.7 C++的特点 13
1.8 小结 13
第2章 数据类型 14
视频讲解:162分钟
2.1 第一个C++程序 14
2.1.1 #include指令 15
2.1.2 注释 15
2.1.3 main函数 15
2.1.4 函数体 15
2.1.5 函数返回值 16
2.2 常量及符号 16
2.2.1 整型常量 16
2.2.2 实型常量 17
2.2.3 字符常量 17
2.2.4 字符串常量 18
2.2.5 其他常量 18
2.3 变量 19
2.3.1 标识符 19
2.3.2 变量与变量声明 20
2.3.3 整型变量 20
2.3.4 实型变量 21
2.3.5 变量赋值 21
2.3.6 变量赋初值 22
2.3.7 字符变量 22
2.4 常用数据类型 23
2.4.1 整数类型 24
2.4.2 浮点类型 24
2.4.3 字符类型 25
2.4.4 布尔类型 25
2.5 数据输入与输出 25
2.5.1 控制台屏幕 26
2.5.2 C++语言中的流 26
2.5.3 流操作的控制 28
2.6 小结 34
2.7 实践与练习 34
第3章 运算符与表达式 36
视频讲解:133分钟
3.1 运算符 36
3.1.1 算术运算符 37
3.1.2 关系运算符 38
3.1.3 逻辑运算符 39
3.1.4 赋值运算符 40
3.1.5 位运算符 41
3.1.6 移位运算符 42
3.1.7 sizeof运算符 44
3.1.8 条件运算符 45
3.1.9 逗号运算符 45
3.2 结合性和优先级 45
3.3 表达式 46
3.3.1 算术表达式 47
3.3.2 关系表达式 47
3.3.3 条件表达式 47
3.3.4 赋值表达式 48
3.3.5 逻辑表达式 48
3.3.6 逗号表达式 48
3.3.7 表达式中的类型转换 49
3.4 语句 52
3.5 判断左值与右值 53
3.6 小结 53
3.7 实践与练习 54
第4章 条件判断语句 55
视频讲解:98分钟
4.1 决策分支 55
4.2 判断语句 56
4.2.1 简单if语句 56
4.2.2 if…else判断语句 58
4.2.3 else if判断语句 59
4.3 使用条件运算符进行判断 61
4.4 switch语句 63
4.5 判断语句的嵌套 67
4.6 小结 69
4.7 实践与练习 69
第5章 循环语句 71
视频讲解:85分钟
5.1 while循环 71
5.2 do...while循环 73
5.3 while与do…while比较 75
5.4 for循环 76
5.5 循环控制 80
5.5.1 循环控制变量 80
5.5.2 break语句 81
5.5.3 continue语句 82
5.5.4 goto语句 83
5.6 循环嵌套 84
5.7 小结 86
5.8 实践与练习 87
第6章 函数 89
视频讲解:203分钟
6.1 函数概述 89
6.1.1 函数的定义 89
6.1.2 函数的声明 90
6.2 函数参数及返回值 91
6.2.1 返回值 91
6.2.2 空函数 92
6.2.3 形参与实参 93
6.2.4 默认参数 93
6.2.5 可变参数 94
6.3 函数调用 95
6.3.1 传值调用 96
6.3.2 嵌套调用 97
6.3.3 递归调用 98
6.4 变量作用域 101
6.5 重载函数 102
6.6 内联函数 103
6.7 变量的存储类别 104
6.7.1 auto变量 104
6.7.2 static变量 106
6.7.3 register变量 107
6.7.4 extern变量 107
6.8 小结 108
6.9 实践与练习 108
第7章 数组、指针和引用 110
视频讲解:245分钟
7.1 一维数组 110
7.1.1 一维数组的声明 110
7.1.2 一维数组元素的引用 111
7.1.3 一维数组的初始化 111
7.2 二维数组 113
7.2.1 二维数组的声明 113
7.2.2 二维数组元素的引用 113
7.2.3 二维数组的初始化 114
7.3 字符数组 116
7.4 指针 122
7.4.1 变量与指针 122
7.4.2 指针运算符和取地址运算符 126
7.4.3 指针运算 127
7.4.4 指向空的指针与空类型指针 128
7.4.5 指向常量的指针与指针常量 129
7.5 指针与数组 131
7.5.1 数组的存储 131
7.5.2 指针与一维数组 131
7.5.3 指针与二维数组 133
7.5.4 指针与字符数组 137
7.6 指针在函数中的应用 139
7.6.1 传递地址 139
7.6.2 指向函数的指针 140
7.6.3 空指针调用函数 142
7.6.4 从函数中返回指针 142
7.7 指针数组 144
7.8 安全使用指针 146
7.8.1 内存分配 146
7.8.2 内存安全 148
7.9 引用 151
7.9.1 引用概述 151
7.9.2 使用引用传递参数 153
7.9.3 指针传递参数 154
7.9.4 数组做函数参数 155
7.10 小结 157
7.11 实践与练习 157
第8章 构造数据类型 159
视频讲解:96分钟
8.1 结构体 159
8.1.1 结构体定义 159
8.1.2 结构体变量 160
8.1.3 结构体成员及初始化 161
8.1.4 结构体的嵌套 163
8.1.5 结构体大小 165
8.2 重命名数据类型 166
8.3 结构体与函数 168
8.3.1 结构体变量做函数参数 168
8.3.2 结构体指针做函数参数 169
8.4 结构体数组 170
8.4.1 结构体数组声明与引用 170
8.4.2 指针访问结构体数组 171
8.5 共用体 172
8.5.1 共用体的定义与声明 172
8.5.2 共用体的大小 173
8.5.3 共用体的特点 174
8.6 枚举类型 175
8.6.1 枚举类型的声明 175
8.6.2 枚举类型变量 176
8.6.3 枚举类型的运算 177
8.7 自定义数据类型 178
8.8 使用宏定义替换复杂的数据 179
8.9 小结 183
8.10 实践与练习 183
第2篇 核心技术
第9章 面向对象编程 186
视频讲解:39分钟
9.1 面向对象概述 186
9.2 面向对象编程与面向过程编程 187
9.2.1 面向过程编程 187
9.2.2 面向对象编程 188
9.2.3 面向对象的特点 188
9.3 统一建模语言 189
9.3.1 统一建模语言概述 189
9.3.2 统一建模语言的结构 189
9.3.3 面向对象的建模 190
9.4 小结 191
第10章 类和对象 192
视频讲解:197分钟
10.1 C++类 192
10.1.1 类的概述 192
10.1.2 类的声明与定义 193
10.1.3 类的实现 194
10.1.4 对象的声明 198
10.2 构造函数 200
10.2.1 构造函数概述 200
10.2.2 复制构造函数 201
10.3 析构函数 203
10.4 类成员 206
10.4.1 访问类成员 206
10.4.2 内联成员函数 207
10.4.3 静态类成员 208
10.4.4 隐藏的this指针 210
10.4.5 嵌套类 211
10.4.6 局部类 212
10.5 友元 213
10.5.1 友元概述 213
10.5.2 友元类 215
10.5.3 友元方法 216
10.6 命名空间 218
10.6.1 使用命名空间 218
10.6.2 定义命名空间 219
10.6.3 在多个文件中定义命名空间 221
10.6.4 定义嵌套的命名空间 222
10.6.5 定义未命名的命名空间 224
10.7 小结 224
10.8 实践与练习 224
第11章 继承与派生 226
视频讲解:112分钟
11.1 继承 226
11.1.1 类的继承 226
11.1.2 继承后可访问性 228
11.1.3 构造函数访问顺序 231
11.1.4 子类显示调用父类构造函数 232
11.1.5 子类隐藏父类的成员函数 234
11.2 重载运算符 236
11.2.1 重载运算符的必要性 236
11.2.2 重载运算符的形式与规则 238
11.2.3 重载运算符的运算 240
11.2.4 转换运算符 242
11.3 多重继承 243
11.3.1 多重继承定义 243
11.3.2 二义性 245
11.3.3 多重继承的构造顺序 245
11.4 多态 247
11.4.1 虚函数概述 247
11.4.2 利用虚函数实现动态绑定 248
11.4.3 虚继承 249
11.5 抽象类 251
11.5.1 纯虚函数 251
11.5.2 实现抽象类中的成员函数 253
11.6 小结 254
11.7 实践与练习 255
第3篇 高级应用
第12章 模板 258
视频讲解:32分钟
12.1 函数模板 258
12.1.1 函数模板的定义 258
12.1.2 函数模板的作用 259
12.1.3 重载函数模板 261
12.2 类模板 262
12.2.1 类模板的定义与声明 262
12.2.2 简单类模板 264
12.2.3 默认模板参数 265
12.2.4 为具体类型的参数提供默认值 266
12.2.5 有界数组模板 267
12.3 模板的使用 269
12.3.1 定制类模板 269
12.3.2 定制类模板成员函数 270
12.4 链表类模板 272
12.4.1 链表 272
12.4.2 链表类模板的使用 274
12.4.3 类模板的静态数据成员 277
12.5 小结 278
12.6 实践与练习 279
第13章 太阳城
模板库 280
视频讲解:38分钟
13.1 几种常见数据结构 280
13.1.1 简述STL 280
13.1.2 顺序线性结构 281
13.1.3 基本操作 281
13.1.4 栈结构 281
13.1.5 队列结构 281
13.1.6 链表结构 282
13.1.7 图结构 282
13.2 序列容器 282
13.2.1 对比容器适配器与容器 283
13.2.2 对比迭代器与容器 283
13.2.3 向量类模板 284
13.2.4 双端队列类模板 287
13.2.5 链表类模板 289
13.3 结合容器 292
13.3.1 set类模板 292
13.3.2 multiset类模板 296
13.3.3 map类模板 300
13.3.4 multimap类模板 302
13.4 算法 303
13.4.1 非修正序列算法 303
13.4.2 修正序列算法 305
13.4.3 排序算法 309
13.4.4 数值算法 315
13.5 迭代器 319
13.5.1 输出迭代器 319
13.5.2 输入迭代器 319
13.5.3 前向迭代器 320
13.5.4 双向迭代器 321
13.5.5 随机访问迭代器 321
13.6 小结 323
13.7 实践与练习 323
第14章 RTTI与异常处理 324
视频讲解:18分钟
14.1 RTTI 324
14.2 异常处理 329
14.3 小结 336
第15章 程序调试 337
视频讲解:21分钟
15.1 选择正确的调试方法 337
15.2 程序错误的常见类型 338
15.3 调试工具的使用 340
15.4 调试的基本应用 343
15.5 调试的高级应用 347
15.6 小结 349
第16章 文件操作 350
视频讲解:35分钟
16.1 C++流概述 350
16.2 文件打开 353
16.3 文件的读写 355
16.4 文件指针移动操作 361
16.5 文件和流的关联和分离 365
16.6 删除文件 367
16.7 小结 367
16.8 实践与练习 367
第17章 网络通信 368
视频讲解:20分钟
17.1 TCP/IP协议 368
17.2 套接字 372
17.3 简单协议通信 379
17.4 小结 383
17.5 实践与练习 383
第4篇 项目实战
第18章 人事考勤管理系统 386
视频讲解:89分钟
18.1 开发背景 386
18.2 需求分析 387
18.3 系统设计 387
18.4 公共模块设计 390
18.5 主窗体设计 395
18.6 用户登录模块设计 397
18.7 用户管理模块设计 399
18.8 部门管理模块设计 403
18.9 人员信息管理模块设计 406
18.10 考勤管理模块设计 413
18.11 考勤汇总查询模块设计 420
18.12 开发技巧与难点分析 424
18.13 小结 425
附录A Visual C++ 6.0 常用快捷键 426
A.1 Visual C++ 6.0菜单命令及功能 426
A.2 Visual C++ 6.0常用快捷键 428
附录B Visual Studio 2019简介 430
B.1 安装Visual Studio 2019 430
B.2 Visual Studio 2019开发环境介绍 433
B.3 Visual Studio 2019菜单功能 437
B.4 Visual Studio 2019常用快捷键 440