一种比较常用的计算机程式语言学习工具书
基本介绍
- 书名C++从入门到精通
- 又名C++
- 作者李伟明、侯春多
- ISBN9787302227441
- 类别计算机程式语言工具书
- 定价49.8元
- 出版社清华大学出版社
- 出版时间2010-07-01
基本信息
书名C++从入门到精通
出版社清华大学出版社
ISBN9787302227441
出版时间2010-07-01
作者李伟明、侯春多
定价49.8元RMB
内容简介
本书从初学者的角度出发,以通俗易懂的语言,配合丰富的实例,详细讲解了C++语言的基础知识。本书包括4篇18章第1篇是基础知识,包括了绪论,数据类型,表达式与语句,条件判断语句,循环语句,函式,数组、指针和引用,构造数据类型;第2篇是核心技术,包括了面向对象编程、类和对象、继承与派生;第3篇是高级套用,包括了模板、STL标準模板库、RTTI与异常处理、程式调测、档案操作、网路通信;第4篇为项目实战,结合图书管理系统,依照软体工程的开发流程,讲述如何进行实际开发。书中所有知识都结合具体实例进行介绍,涉及的程式代码给出了详细的注释,可以使读者轻鬆领会C++语言的强大,快速提高开发技能。
本书列举了大量的小型实例、综合实例和部分项目案例;所附DVD光碟内容有同步视频讲解、实例源程式、“实践与练习”答案等;
本书的服务网站提供了模组库、案例库、题库、素材库、答疑服务。本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。
图书目录
目 录
第1篇 基础知识
第1章 绪论 3
视频讲解1小时18分钟
1.1 C++历史背景 4
1.1.1 20世纪最伟大的发明 4
1.1.2 C++发展历程 4
1.1.3 C++中的杰出人物 5
1.2 常用开发环境 6
1.2.1 Visual C++6.0 6
1.2.2 Visual C++2008 7
1.2.3 GCC/G++ 8
1.2.4 Dev-C 8
1.2.5 Eclipse 9
1.3 认知C++程式代码 9
1.4 C++工程项目档案 10
1.5 使用VC创建程式 11
1.6 编译与连线过程 14
1.7 C++的特点 17
1.8 小结 17
第2章 数据类型 19
视频讲解1小时26分钟
2.1 第一个C++程式 20
2.1.1 #INCLUDE指令 20
2.1.2 注释 20
2.1.3 main函式 21
2.1.4 函式体 21
2.1.5 函式返回值 21
2.2 数据类型 21
2.3 常量及符号 22
2.3.1 整型常量 23
2.3.2 实型常量 24
2.3.3 字元常量 24
2.3.4 字元串常量 25
2.3.5 其他常量 26
2.4 变数 26
2.4.1 标识符 26
2.4.2 变数与变数说明 27
2.4.3 整型变数 27
2.4.4 实型变数 28
2.4.5 变数赋值 28
2.4.6 变数赋初值 29
2.4.7 字元变数 29
2.5 数据输入与输出 30
2.5.1 控制台萤幕 31
2.5.2 C++语言中的流 31
2.5.3 流操作的控制 33
2.6 小结 40
2.7 实践与练习 41
第3章 表达式与语句 43
视频讲解55分钟
3.1 运算符 44
3.1.1 算术运算符 44
3.1.2 关係运算符 45
3.1.3 逻辑运算符 46
3.1.4 赋值运算符 47
3.1.5 位运算 48
3.1.6 移位运算符 50
3.1.7 sizeof运算符 52
3.1.8 条件运算符 52
3.1.9 逗号运算符 53
3.2 结合性和优先权 53
3.3 表达式 54
3.3.1 算术表达式 55
3.3.2 关係表达式 55
3.3.3 条件表达式 55
3.3.4 赋值表达式 56
3.3.5 逻辑表达式 56
3.3.6 逗号表达式 56
3.3.7 表达式中的类型转换 58
3.4 语句 60
3.5 小结 61
3.6 实践与练习 61
第4章 条件判断语句 63
视频讲解35分钟
4.1 决策分支 64
4.2 判断语句 65
4.2.1 第一种形式的判断语句 65
4.2.2 第二种形式的判断语句 67
4.2.3 第三种形式的判断语句 69
4.3 使用条件运算符进行判断 70
4.4 switch语句 72
4.5 判断语句的嵌套 75
4.6 小结 77
4.7 实践与练习 77
第5章 循环语句 79
视频讲解53分钟
5.1 while循环 80
5.2 do...while循环 82
5.3 while与do…while比较 83
5.4 for循环语句 85
5.5 循环控制 88
5.5.1 控制循环的变数 89
5.5.2 break语句 90
5.5.3 continue语句 91
5.5.4 goto语句 92
5.6 循环嵌套 93
5.7 循环套用实例 95
5.7.1 阿姆斯壮数 95
5.7.2 巴斯卡三角形 96
5.7.3 对输入的分数进行排名 97
5.8 小结 98
5.9 实践与练习 98
第6章 函式 99
视频讲解1小时14分钟
6.1 函式概述 100
6.1.1 函式的定义 100
6.1.2 函式的声明 100
6.2 函式参数及返回值 102
6.2.1 返回值 102
6.2.2 空函式 102
6.2.3 形参与实参 103
6.2.4 默认参数 104
6.2.5 可变参数 105
6.3 函式调用 106
6.3.1 传值调用 106
6.3.2 嵌套调用 108
6.3.3 递归调用 109
6.4 变数作用域 113
6.5 重载函式 113
6.6 内联函式 115
6.7 变数的存储类别 116
6.7.1 auto变数 116
6.7.2 static变数 117
6.7.3 register变数 119
6.7.4 extern变数 119
6.8 小结 120
6.9 实践与练习 120
第7章 数组、指针和引用 121
视频讲解1小时27分钟
7.1 一维数组 122
7.1.1 一维数组的声明 122
7.1.2 一维数组的引用 122
7.1.3 一维数组的初始化 123
7.2 二维数组 124
7.2.1 二维数组的声明 124
7.2.2 二维数组元素的引用 125
7.2.3 二维数组的初始化 126
7.3 字元数组 128
7.4 指针 135
7.4.1 变数与指针 135
7.4.2 指针运算符和取地址运算符 138
7.4.3 指针运算 140
7.5 指针与数组 141
7.5.1 数组的存储 141
7.5.2 指针与一维数组 142
7.5.3 指针与二维数组 144
7.5.4 指针与字元数组 148
7.6 指向函式的指针 149
7.7 引用 150
7.7.1 使用引用传递参数 152
7.7.2 指针传递参数 153
7.7.3 数组做函式参数 154
7.8 指针数组 156
7.9 小结 159
7.10 实践与练习 159
第8章 构造数据类型 161
视频讲解59分钟
8.1 结构体 162
8.1.1 结构体定义 162
8.1.2 结构体变数 163
8.1.3 结构体成员及初始化 163
8.1.4 结构体的嵌套 166
8.1.5 结构体大小 167
8.2 结构体与函式 169
8.2.1 结构体变数做函式参数 169
8.2.2 结构体指针做函式参数 170
8.3 结构体数组 171
8.3.1 结构体数组声明与引用 171
8.3.2 指针访问结构体数组 172
8.4 共用体 173
8.4.1 共用体的定义与声明 173
8.4.2 共用体的大小 174
8.4.3 共用体的特点 176
8.5 枚举类型 176
8.5.1 枚举类型的声明 176
8.5.2 枚举类型变数 177
8.5.3 枚举类型的运算 178
8.6 自定义数据类型 179
8.7 小结 181
8.8 实践与练习 181
第2篇 核心技术
第9章 面向对象编程 185
视频讲解32分钟
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 面向对象的建模 191
9.4 小结 192
第10章 类和对象 193
视频讲解1小时1分钟
10.1 C++类 194
10.1.1 类概述 194
10.1.2 类的声明与定义 194
10.1.3 类的实现 196
10.1.4 对象的声明 200
10.2 构造函式 202
10.2.1 构造函式概述 202
10.2.2 複製构造函式 204
10.3 析构函式 206
10.4 类成员 208
10.4.1 访问类成员 208
10.4.2 内联成员函式 210
10.4.3 静态类成员 211
10.4.4 隐藏的this指针 213
10.4.5 嵌套类 214
10.4.6 局部类 215
10.5 友元 216
10.5.1 友元概述 216
10.5.2 友元类 218
10.5.3 友元方法 219
10.6 命名空间 222
10.6.1 使用命名空间 222
10.6.2 定义命名空间 222
10.6.3 在多个档案中定义命名空间 225
10.6.4 定义嵌套的命名空间 226
10.6.5 定义未命名的命名空间 228
10.7 小结 228
10.8 实践与练习 229
第11章 继承与派生 231
视频讲解57分钟
11.1 继承 232
11.1.1 类的继承 232
11.1.2 继承后可访问性 234
11.1.3 构造函式访问顺序 237
11.1.4 子类隐藏父类的成员函式 238
11.2 重载运算符 241
11.2.1 重载运算符的必要性 241
11.2.2 重载运算符的形式与规则 243
11.2.3 重载运算符的运算 244
11.2.4 转换运算符 247
11.3 多重继承 248
11.3.1 多重继承定义 248
11.3.2 二义性 250
11.3.3 多重继承的构造顺序 250
11.4 多态 252
11.4.1 虚函式概述 252
11.4.2 利用虚函式实现动态绑定 253
11.4.3 虚继承 254
11.5 抽象类 256
11.5.1 纯虚函式 256
11.5.2 实现抽象类中的成员函式 258
11.6 小结 260
11.7 实践与练习 260
第3篇 高级套用
第12章 模板 263
视频讲解49分钟
12.1 函式模板 264
12.1.1 函式模板的定义 264
12.1.2 函式模板的作用 265
12.1.3 重载函式模板 267
12.2 类模板 268
12.2.1 类模板的定义与声明 268
12.2.2 简单类模板 270
12.2.3 默认模板参数 271
12.2.4 为具体类型的参数提供默认值 272
12.2.5 有界数组模板 273
12.3 模板的使用 275
12.3.1 定製类模板 275
12.3.2 定製类模板成员函式 276
12.3.3 模板部分定製 278
12.4 鍊表类模板 279
12.4.1 鍊表 280
12.4.2 鍊表类模板 282
12.4.3 类模板的静态数据成员 284
12.5 小结 286
12.6 实践与练习 286
第13章 STL标準模板库 287
视频讲解35分钟
13.1 序列容器 288
13.1.1 向量类模板 288
13.1.2 双端伫列类模板 290
13.1.3 鍊表类模板 292
13.2 结合容器 294
13.2.1 set类模板 295
13.2.2 multiset类模板 299
13.2.3 map类模板 304
13.2.4 multimap类模板 306
13.3 算法 307
13.3.1 非修正序列算法 307
13.3.2 修正序列算法 310
13.3.3 排序算法 314
13.3.4 数值算法 321
13.4 叠代器 325
13.4.1 输出叠代器 325
13.4.2 输入叠代器 326
13.4.3 前向叠代器 327
13.4.4 双向叠代器 328
13.4.5 随机访问叠代器 329
13.5 小结 330
13.6 实践与练习 330
第14章 RTTI与异常处理 331
视频讲解22分钟
14.1 RTTI(运行时类型识别) 332
14.1.1 什幺是RTTI 332
14.1.2 RTTI与引用 333
14.1.3 RTTI与多重继承 334
14.1.4 RTTI映射语法 335
14.2 异常处理 337
14.2.1 抛出异常 338
14.2.2 异常捕获 340
14.2.3 异常匹配 342
14.2.4 标準异常 344
14.3 小结 345
第15章 程式调试 347
视频讲解33分钟
15.1 选择正确的调试方法 348
15.2 程式错误常见的4种类型 348
15.2.1 语法错误 348
15.2.2 连线错误 349
15.2.3 运行时错误 349
15.2.4 逻辑错误 350
15.3 调试工具的使用 351
15.3.1 创建调试程式 351
15.3.2 进入调试状态 353
15.3.3 Watch视窗 353
15.3.4 Call Stack视窗 353
15.3.5 Memory视窗 354
15.3.6 Variables视窗 354
15.3.7 Registers视窗 355
15.3.8 Disassembly视窗 355
15.4 调试的基本套用 355
15.4.1 变数的跟蹤与查看 355
15.4.2 位置断点的使用 357
15.4.3 数据断点的使用 359
15.5 调试的高级套用 360
15.5.1 在调试时修改变数的值 360
15.5.2 在循环中调试 361
15.6 小结 362
第16章 档案操作 363
视频讲解58分钟
16.1 档案流 364
16.1.1 C++中的流类库 364
16.1.2 类库的使用 364
16.1.3 ios类中的枚举常量 365
16.1.4 流的输入/输出 365
16.2 档案打开 366
16.2.1 打开方式 366
16.2.2 默认打开模式 367
16.2.3 打开档案创建档案 368
16.3 档案的读写 369
16.3.1 档案流 369
16.3.2 写文本档案 371
16.3.3 读取文本档案 371
16.3.4 二进制档案的读写 372
16.3.5 实现档案複製 374
16.4 档案指针移动操作 375
16.4.1 档案错误与状态 375
16.4.2 档案的追加 375
16.4.3 档案结尾的判断 376
16.4.4 在指定位置读写档案 378
16.5 档案和流的关联和分离 379
16.6 删除档案 381
16.7 小结 382
16.8 实践与练习 382
第17章 网路通信 383
视频讲解39分钟
17.1 TCP/IP协定 384
17.1.1 OSI参考模型 384
17.1.2 TCP/IP参考模型 384
17.1.3 IP位址 385
17.1.4 数据包格式 386
17.2 套接字 388
17.2.1 Winsocket套接字 388
17.2.2 Winsocket的使用 388
17.2.3 套接字阻塞模式 393
17.2.4 位元组顺序 393
17.2.5 面向连线流 394
17.2.6 面向无连线流 395
17.3 简单协定通信 395
17.3.1 服务端 395
17.3.2 客户端 398
17.3.3 实例的运行 399
17.4 小结 399
17.5 实践与练习 399
第4篇 项目实战
第18章 图书管理系统 403
视频讲解42分钟
18.1 系统设计 404
18.1.1 需求分析 404
18.1.2 系统目标 404
18.1.3 系统功能结构 404
18.2 图书类 405
18.3 主程式 409
18.4 添加图书 413
18.5 显示图书信息 414
18.6 删除图书 416
18.7 小结 417