当前位置首页 > 百科> 正文

C++语言从入门到精通(视频实战版)

2019-09-04 07:41:12 百科
C++语言从入门到精通(视频实战版)

C++语言从入门到精通(视频实战版)

《C++语言从入门到精通(视频实战版)》是2011年机械工业出版社出版的图书,作者是陈国建游梁张建辉。

基本介绍

  • 书名:C++语言从入门到精通(视频实战版)
  • 作者:陈国建    游梁    张建辉
  • ISBN:9787111325468
  • 出版社:机械工业出版社

基本信息

丛书名: 程式设计师书库
上架时间:2011-1-27
出版日期:2011 年1月
开本:16开
页码:417

内容简介

本书是一本全面介绍c++的书籍,讲解由浅入深、循序渐进,可使读者熟练掌握c++,并能开发c++应用程式。
本书分为五篇,第一篇是c++基础篇,介绍了c++程式设计入门、c++变数与运算符以及c++选择和循环语句等基础知识。第二篇讨论了c++面向过程编程的一些知识点,讨论了数组与字元串、指针与记忆体、如何自定义数据类型(结构体)和函式的基本知识。第三篇是c++面向对象编程,重点在于类和对象、运算符重载、类的继承和多态与虚函式等。第四篇谈论了c++泛型编程,包括c++模板和标準模板库(stl)。第五篇介绍了c++输入/输出处理和编码规范,讨论了输入/输出、档案操作、命名空间、异常和错误处理的基本知识。

目录

丛书序
前言
第一篇 c++基础
第1章 c++程式设计入门 1
1.1 面向对象的程式概述 1
1.1.1 面向过程的程式设计 1
1.1.2 面向对象的程式设计 2
1.2 c++概述 2
1.2.1 c++的发展历程 2
1.2.2 c++的特点 3
1.3 visual c++开发环境 3
1.3.1 visual c++ 6.0简介 4
1.3.2 visual c++开发环境概述 4
1.4 c、c++与visual c++ 14
1.4.1 c与c++ 14
1.4.2 c++与visual c++ 14
1.5 第一个c++程式 15
1.5.1 c++程式的结构 15
1.5.2 创建源程式 18
1.5.3 编译、连结和运行程式 18
.1.6 小结 19
1.7 习题 19
第2章 变数与运算符 20
2.1 变数与基本数据类型 20
2.1.1 什幺是变数 20
2.1.2 如何定义变数 22
2.1.3 整型 23
2.1.4 浮点型 28
2.1.5 字元类型 30
2.1.6 布尔类型 33
2.2 常量 34
2.2.1 什幺是常量 34
2.2.2 数值常量—整型常量和实型常量 34
2.2.3 字元型常量 35
2.2.4 字元串常量 35
2.3 算术运算符与算术表达式 36
2.3.1 基本算术运算符 36
2.3.2 关係运算符 37
2.3.3 逻辑运算符 37
2.3.4 位运算符 38
2.3.5 sizeof运算符 39
2.3.6 强制类型转换 39
2.3.7 运算符的优先权与结合性 41
2.3.8 算术表达式 41
2.3.9 逻辑表达式 42
2.3.10 赋值表达式 42
2.3.11 逗号表达式 42
2.4 小结 43
2.5 习题 43
第3章 选择与循环 44
3.1 选择结构和if语句 44
3.1.1 if语句的3种形式 44
3.1.2 if语句的嵌套 49
3.1.3 switch选择语句 52
3.2 循环结构和循环语句 58
3.2.1 while循环结构 58
3.2.2 for循环结构 59
3.2.3 do-while循环结构 62
3.2.4 循环的嵌套 63
3.2.5 几种循环的比较 64
3.2.6 循环语句的效率 65
3.2.7 break、continue和goto语句 66
3.3 小结 74
3.4 习题 75
第二篇 c++过程开发
第4章 数组与字元串 77
4.1 数组的概念 77
4.2 一维数组的定义和引用 78
4.2.1 一维数组的定义 78
4.2.2 一维数组元素的引用 79
4.2.3 一维数组的初始化 80
4.2.4 一维数组与指针 82
4.3 二维数组的定义和引用 83
4.3.1 二维数组的定义 83
4.3.2 二维数组元素的引用 84
4.3.3 二维数组的初始化 85
4.3.4 多维数组的使用 87
4.4 指针与数组 89
4.4.1 指针与数组的关係 89
4.4.2 指向数组元素的指针 89
4.4.3 指针与一维数组 89
4.4.4 指针与多维数组 90
4.4.5 指针与字元数组 90
4.5 指针数组与数组指针 91
4.5.1 指针数组 91
4.5.2 数组指针 91
4.6 动态分配二维数组 92
4.6.1 已知二维数组的第二维进行动态分配 92
4.6.2 已知二维数组的第一维进行动态分配 93
4.6.3 已知二维数组的第一维并一次分配记忆体 94
4.6.4 二维数组的两维都未知的情况下进行动态分配 95
4.6.5 二维数组的两维都未知的情况下一次分配记忆体 96
4.7 字元数组与字元串 97
4.7.1 字元数组 97
4.7.2 字元串及其使用 99
4.7.3 字元串处理函式 100
4.8 小结 104
4.9 习题 104
第5章 指针与记忆体 106
5.1 指针的概念 106
5.2 变数与指针 106
5.2.1 定义指针变数 106
5.2.2 引用指针变数 108
5.2.3 引用指针变数与指针的指针 109
5.2.4 指针作函式参数 110
5.3 数组与指针 112
5.3.1 指向数组元素的指针 112
5.3.2 用指针变数作函式参数接收数组地址 113
5.3.3 多维数组与指针 115
5.4 函式与指针 117
5.4.1 函式指针与指针函式 117
5.4.2 用指向函式的指针作函式参数 120
5.5 动态记忆体分配 121
5.5.1 使用new动态分配记忆体 121
5.5.2 使用new申请动态数组 123
5.6 小结 125
5.7 习题 125
第6章 自定义数据类型 127
6.1 结构体类型 127
6.1.1 结构体概述 127
6.1.2 结构体类型变数的定义方法及其初始化 128
6.1.3 结构体变数的引用 132
6.1.4 结构体数组 133
6.1.5 指向结构体变数的指针 135
6.1.6 结构体类型数据作为函式参数 136
6.2 共用体 138
6.2.1 共用体的语法形式 139
6.2.2 定义共用体变数 139
6.2.3 共用体变数的引用 140
6.3 枚举类型 142
6.4 鍊表 143
6.4.1 鍊表的结构 143
6.4.2 创建鍊表 144
6.4.3 鍊表与数组的区别 144
6.4.4 删除整个鍊表 145
6.4.5 在鍊表中插入结点 145
6.5 小结 146
6.6 习题 146
第7章 函式 148
7.1 函式概述 148
7.2 函式定义 150
7.2.1 无参函式 150
7.2.2 有参函式 153
7.2.3 函式头与函式体 158
7.2.4 函式返回值 159
7.2.5 函式声明 160
7.3 函式参数 162
7.3.1 形参和实参 163
7.3.2 值传递 164
7.3.3 引用传递 164
7.3.4 指针传递 165
7.3.5 有预设参数的函式 166
7.3.6 内联函式 168
7.4 函式的嵌套调用 170
7.4.1 函式的相互嵌套调用 170
7.4.2 函式的递归调用 171
7.5 函式的重载 174
7.5.1 什幺是函式重载 174
7.5.2 如何实现函式重载 175
7.6 函式变数 176
7.6.1 局部变数 176
7.6.2 全局变数 177
7.6.3 静态局部变数 180
7.6.4 静态全局变数 182
7.7 小结 183
7.8 习题 183
第8章 c++过程开发的进一步讨论 186
8.1 c/c++重要的关键字 186
8.1.1 const关键字 186
8.1.2 static关键字 188
8.2 记忆体问题 192
8.2.1 记忆体泄漏 192
8.2.2 野指针 193
8.2.3 试图修改常量 193
8.2.4 用错sizeof 194
8.3 带参的主函式 195
8.4 小结 196
8.5 习题 196
第三篇 c++面向对象开发
第9章 类和对象 197
9.1 面向对象程式设计概述 197
9.1.1 什幺是面向对象的程式设计 197
9.1.2 面向对象程式设计的特点 198
9.1.3 面向对象程式设计的优点 204
9.1.4 类的概念 206
9.2 类的声明与定义 206
9.2.1 类声明和类定义 206
9.2.2 类和结构体 207
9.3 类的成员变数 208
9.3.1 如何定义类的成员变数 208
9.3.2 类成员变数的赋值 209
9.4 类的成员函式 210
9.4.1 成员函式的声明和实现 210
9.4.2 带默认形参值的成员函式 210
9.4.3 内联成员函式 211
9.5 const成员变数与成员函式 212
9.5.1 const成员变数 212
9.5.2 const成员函式 213
9.6 静态成员变数与成员函式 214
9.6.1 静态成员变数 214
9.6.2 静态成员函式 215
9.7 小结 216
9.8 习题 216
第10章 类和对象的进一步讨论 218
10.1 类的构造函式 218
10.1.1 构造函式的概念 218
10.1.2 含有参数的构造函式 220
10.1.3 构造函式的重载 221
10.1.4 构造函式允许按参数默认方式调用 222
10.1.5 用参数初始化表对数据成员初始化 224
10.2 类的析构函式 225
10.2.1 析构函式的概念 225
10.2.2 析构函式的作用 226
10.2.3 构造函式和析构函式的调用顺序 227
10.3 複製构造函式 227
10.3.1 複製构造函式的概念与作用 228
10.3.2 如何定义複製构造函式 229
10.3.3 浅複製与深複製 230
10.3.4 複製构造函式的调用 232
10.4 类作用域和对象生存期 234
10.5 友元 236
10.5.1 友元函式 236
10.5.2 友元成员 238
10.5.3 友元类 240
10.6 对象指针 242
10.6.1 指向对象的指针 242
10.6.2 this指针 244
10.7 对象的动态建立和释放 246
10.7.1 对象的创建 246
10.7.2 对象的释放 247
10.7.3 malloc/free与new/delete的区别 248
10.8 小结 249
10.9 习题 250
第11章 运算符重载 251
11.1 运算符重载概要 251
11.2 运算符重载 252
11.2.1 单目运算符重载 252
11.2.2 双目运算符重载 254
11.2.3 运算符“[ ]”的重载 257
11.2.4 运算符重载为友元函式 258
11.3 小结 260
11.4 习题 260
第12章 类的继承 261
12.1 继承与派生的概念 261
12.2 派生类的声明方式 263
12.3 派生类成员的访问许可权 264
12.3.1 公有继承 264
12.3.2 私有继承 265
12.3.3 保护继承 266
12.4 派生类的构造函式和析构函式 267
12.4.1 派生类的构造函式 267
12.4.2 派生类的析构函式 269
12.5 虚基类 270
12.5.1 虚基类的概念 271
12.5.2 共同基类带来的二义性 272
12.6 基类与派生类的相互转换 272
12.7 小结 274
12.8 习题 274
第13章 多态与虚函式 276
13.1 多态与虚函式简介 276
13.1.1 静态联编 276
13.1.2 动态联编 278
13.1.3 虚函式概念 278
13.1.4 虚函式的声明和定义 278
13.1.5 关于虚函式的几点说明 280
13.1.6 虚函式的原理 281
13.2 虚函式的访问 283
13.2.1 对象名访问 283
13.2.2 基指针访问 284
13.2.3 引用访问 286
13.2.4 类内访问 288
13.2.5 在构造函式或析构函式中访问 289
13.3 纯虚函式与抽象类 291
13.3.1 纯虚函式的声明和定义 291
13.3.2 抽象类 293
13.3.3 另一种抽象类:类中只定义了protected型的构造函式 294
13.3.4 虚析构函式 295
13.4 虚函式引入的二义性 297
13.4.1 多基派生的二义性 297
13.4.2 虚继承 399
13.5 重载、覆盖与隐藏 302
13.6 小结 304
13.7 习题 304
第四篇 c++泛型编程
第14章 模板 307
14.1 模板的概念 307
14.2 函式模板 308
14.2.1 函式模板的一般定义 308
14.2.2 显式具体化 309
14.2.3 优先权与执行顺序 312
14.3 类模板 313
14.3.1 类模板的一般定义 313
14.3.2 模板类的继承 316
14.3.3 模板类的静态数据成员 317
14.4 小结 319
14.5 习题 319
第15章 标準模板库(stl) 320
15.1 stl概述 320
15.1.1 算法简介 320
15.1.2 容器简介 320
15.1.3 叠代器简介 321
15.1.4 适配器简介 321
15.2 容器 322
15.2.1 向量 322
15.2.2 列表 323
15.3 叠代器 325
15.3.1 输入和输出叠代器 325
15.3.2 前向叠代器、双向叠代器和随机访问叠代器 326
15.3.3 插入叠代器 327
15.3.4 混合叠代器函式 328
15.3.5 叠代器适配器 328
15.4 算法和函式对象 329
15.4.1 stl通用算法调用形式 329
15.4.2 不可变序列算法 331
15.4.3 可变序列算法 332
15.4.4 函式对象 332
15.5 小结 334
15.6 习题 334
第五篇 输入/输出处理和编程规范
第16章 输入/输出 335
16.1 输入/输出概述 335
16.1.1 流 336
16.1.2 缓冲区 336
16.1.3 3种输入/输出流 336
16.1.4 重定向 336
16.2 c语言i/o库函式 337
16.2.1 标準输出函式printf 337
16.2.2 标準输入函式scanf 340
16.2.3 sprintf和sscanf函式 341
16.2.4 c语言的档案访问机制 345
16.3 流类库 347
16.3.1 流类库更安全、更高效 347
16.3.2 流类库层次 348
16.4 c++输入/输出流 350
16.4.1 标準输出流对象cout 350
16.4.2 其他输出流对象 351
16.4.3 标準输入流对象cin 352
16.4.4 使用格式控制符控制输出格式 354
16.4.5 用流对象的成员函式控制输出格式 356
16.4.6 用流成员函式put输出字元 359
16.4.7 用于字元输入的流成员函式 359
16.4.8 istream类的其他成员函式 362
16.5 重载“[[”和“]]” 365
16.6 c++档案输入/输出流 366
16.6.1 档案的输出 367
16.6.2 档案的输入 368
16.7 小结 370
16.8 习题 370
第17章 档案操作 372
17.1 档案的概述 372
17.2 档案的打开与关闭 372
17.2.1 档案的打开 372
17.2.2 档案的关闭 373
17.3 档案的读写 374
17.3.1 c++档案的读写方法 374
17.3.2 文本档案的读写 375
17.3.3 档案的定位 376
17.3.4 二进制档案的读写 377
17.4 小结 378
17.5 习题 378
第18章 命名空间 379
18.1 什幺是命名空间 379
18.1.1 命名空间範例 379
18.1.2 定义命名空间 381
18.2 实体的作用域与可见域 382
18.2.1 局部作用域 382
18.2.2 全局作用域和域操作符 384
18.2.3 作用域嵌套及可见性 385
18.3 使用命名空间 386
18.3.1 作用域解析运算符 386
18.3.2 using指令 386
18.3.3 using指令与using声明的比较 388
18.4 小结 389
18.5 习题 389
第19章 异常和错误处理 390
19.1 编码时的防错 390
19.1.1 使用断言 390
19.1.2 调用exit、abort、_exit和atexit函式 392
19.1.3 返回错误标誌 396
19.2 异常机制 397
19.2.1 异常的抛出 399
19.2.2 异常的捕获 402
19.2.3 异常的处理 404
19.2.4 terminate函式和set_terminate函式 405
19.2.5 unexpected函式与set_unexpected函式 407
19.2.6 标準异常 408
19.3 关于异常处理的进一步讨论 410
19.3.1 异常规范 410
19.3.2 堆叠解退 411
19.3.3 构造函式、析构函式与异常处理 411
19.4 auto_ptr类 412
19.4.1 使用auto_ptr类 412
19.4.2 关于auto_ptr的使用说明 415
19.5 小结 415
19.6 习题 416
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net