出版社:化学工业出版社
年代:2009
定价:49.8
本书讲解了C++的主要应用。
第一篇 基础篇
第1章 概述 2
1.1 计算机程序设计语言概述 2
1.2 了解C++ 3
1.2.1 发展历史和特点 3
1.2.2 程序的构成 3
1.3 开发环境 4
1.3.1 开发系统组成和开发流程 4
1.3.2 典型C++开发环境 6
1.3.3 安装Visual C++ 6.0 7
1.3.4 第一个C++程序:Hello World! 10
1.4 小结 12
第2章 基本元素与结构 13
2.1 常量和变量 13
2.1.1 常量 13
2.1.2 变量 15
2.2 基本元素 15
2.2.1 关键字 16
2.2.2 标识符 16
2.2.3 运算符 17
2.2.4 标点符号 21
2.3 基本结构 21
2.3.1 main函数 21
2.3.2 预处理命令 22
2.3.3 基本输入输出 23
2.3.4 注释 25
2.4 本章实例 26
2.5 小结 27
第3章 基本数据类型 28
3.1 数据类型分类 28
3.2 整型类型 28
3.3 实型类型 30
3.4 字符类型 32
3.5 逻辑类型 34
3.6 变量存储限定符 34
3.7 基本数据类型的转换 35
3.7.1 系统自动转换 35
3.7.2 强制类型转换 36
3.8 本章实例 37
3.9 小结 38
第4章 语句与控制结构 39
4.1 表达式 39
4.2 流程图 40
4.3 顺序结构 40
4.4 选择结构 41
4.4.1 if语句 41
4.4.2 switch语句 42
4.5 循环结构 44
4.5.1 利用goto语句和if语句构成循环 44
4.5.2 while语句 45
4.5.3 do-while语句 46
4.5.4 for语句 47
4.5.5 break语句 49
4.5.6 continue语句 50
4.6 本章实例 51
4.7 小结 53
第5章 数组 54
5.1 一维数组的概念和存储 54
5.1.1 一维数组的定义和初始化 54
5.1.2 一维数组的引用 55
5.1.3 一维数组内存结构和寻址 56
5.2 二维数组 57
5.2.1 二维数组的定义和初始化 57
5.2.2 二维数组的引用 58
5.2.3 二维数组内存结构和寻址 59
5.3 多维数组 59
5.3.1 多维数组的定义和初始化 59
5.3.2 多维数组的引用 60
5.3.3 多维数组内存结构和寻址 60
5.4 字符数组 61
5.4.1 字符数组的定义和初始化 61
5.4.2 字符数组的引用 61
5.4.3 利用字符数组操作字符串 62
5.5 本章实例 63
5.6 小结 64
第6章 函数 65
6.1 函数的概念和定义 65
6.2 函数原型 66
6.3 函数参数 68
6.3.1 函数参数传递方式 68
6.3.2 main( )函数的参数 69
6.3.3 省略符形参 70
6.4 函数作用域规则 70
6.4.1 作用域 70
6.4.2 局部变量 71
6.4.3 全局变量 71
6.5 函数的嵌套与递归调用 72
6.6 内联函数 73
6.7 函数的模板 75
6.8 本章实例 75
6.9 小结 77
第7章 指针与引用 78
7.1 指针的概念和基本用法 78
7.1.1 指针的概念 78
7.1.2 指针变量的声明 78
7.1.3 地址运算符 79
7.1.4 指针的赋值 80
7.1.5 指针运算 81
7.1.6 const指针 82
7.1.7 void指针 84
7.1.8 指针的指针 84
7.2 指针与数组 85
7.2.1 指针数组 85
7.2.2 数组名以及下标和指针的关系 86
7.3 指针与函数 88
7.3.1 指针作为函数参数 88
7.3.2 指针函数 90
7.3.3 指向函数的指针 91
7.4 指针和动态内存的分配 93
7.4.1 C++内存分配机制 93
7.4.2 C++风格的动态内存分配方法 94
7.4.3 C风格的动态内存分配方法 99
7.4.4 动态内存分配陷阱 100
7.4.5 动态内存的传递 102
7.5 引用 104
7.5.1 引用的概念和基本用法 104
7.5.2 引用作为函数参数 106
7.5.3 引用作为返回值 107
7.6 本章实例 108
7.7 小结 109
第8章 自定义类型与字符串 110
8.1 结构体 110
8.1.1 结构体的概念和声明 110
8.1.2 结构体变量的定义 111
8.1.3 结构体变量的初始化 113
8.1.4 结构体的使用 114
8.2 共用体 116
8.2.1 共用体类型及其变量 117
8.2.2 共用体的使用 118
8.3 枚举类型 119
8.3.1 枚举类型与枚举变量 120
8.3.2 枚举类型的使用 120
8.4 类型定义 121
8.5 字符串 122
8.5.1 C风格字符串处理 122
8.5.2 用指针操作字符串 123
8.5.3 C++字符串处理 126
8.5.4 常用字符串的操作函数 128
8.6 本章实例 130
8.7 小结 133
第二篇 面向对象篇
第9章 面向对象设计思想和类 136
9.1 程序设计思想 136
9.1.1 结构化程序设计思想 136
9.1.2 面向对象程序设计思想 137
9.2 类 138
9.2.1 类的定义和组成 138
9.2.2 类成员的访问控制 141
9.2.3 类实例和类成员访问 143
9.2.4 类的作用域和对象的生存周期 146
9.2.5 this指针 146
9.2.6 静态成员 147
9.2.7 常成员 151
9.3 构造函数和析构函数 153
9.3.1 构造函数 153
9.3.2 拷贝构造函数 157
9.3.3 默认拷贝构造函数 159
9.3.4 浅拷贝和深拷贝 161
9.3.5 析构函数 164
9.4 类的组合 166
9.4.1 类的组合的概念 166
9.4.2 组合类的构造函数和析构函数 167
9.4.3 组合类的初始化 168
9.5 友元函数和友元类 170
9.5.1 友元的需求性和定义 170
9.5.2 友元函数 171
9.5.3 友元类 174
9.6 本章实例 176
9.7 小结 178
第10章 重载技术 179
10.1 重载函数 179
10.1.1 重载函数的概念和定义 179
10.1.2 重载函数的使用 180
10.2 运算符重载 181
10.2.1 运算符重载的需求 181
10.2.2 运算符重载的基本方法和规则 182
10.2.3 增减量运算符的重载 185
10.2.4 转换运算符的重载 187
10.2.5 赋值运算符的重载 189
10.3 本章实例 190
10.4 小结 192
第11章 继承与派生 193
11.1 继承与派生 193
11.1.1 继承与派生的概念 193
11.1.2 派生类的声明 194
11.1.3 生成派生类的步骤 195
11.2 继承中的访问控制 198
11.2.1 公用继承的访问控制 198
11.2.2 私有继承的访问控制 199
11.2.3 保护继承的访问控制 201
11.3 派生类的构造函数和析构函数 202
11.3.1 派生类的构造函数 202
11.3.2 派生类的析构函数 205
11.4 基类与派生类的相互作用 207
11.4.1 派生类成员的标识和访问 207
11.4.2 基类和派生类赋值规则 209
11.5 多重继承特性 210
11.5.1 多重继承引起的二义性问题 210
11.5.2 虚拟继承和虚基类 210
11.6 本章实例 212
11.7 小结 218
第12章 虚函数与多态性 219
12.1 多态性 219
12.1.1 多态的概念和类型 219
12.1.2 多态的实现方式 220
12.2 虚函数 220
12.2.1 虚函数的概念和定义 220
12.2.2 虚函数的使用规则 225
12.3 纯虚函数与抽象类 226
12.3.1 纯虚函数 226
12.3.2 抽象类和抽象基类 226
12.4 本章实例 228
12.5 小结 234
第13章 模板与命名空间 235
13.1 模板的概念与作用 235
13.1.1 模板的概念 235
13.1.2 模板的作用 235
13.2 函数模板 236
13.2.1 函数模板的定义和使用 237
13.2.2 重载模板函数 239
13.3 类模板 240
13.4 命名空间 245
13.4.1 程序中的命名冲突分析 245
13.4.2 命名空间的概念 247
13.4.3 命名空间的使用 247
13.4.4 标准命名空间std 250
13.4.5 C++头文件的使用 250
13.5 本章实例 251
13.6 小结 254
第14章 标准模板库 255
14.1 泛型化编程与STL介绍 255
14.1.1 泛型化编程的概念 255
14.1.2 C++标准库与STL的内容 255
14.2 STL的使用 256
14.2.1 容器 257
14.2.2 迭代器 259
14.2.3 算法 260
14.3 本章实例 262
14.4 小结 266
第三篇 应用篇
第15章 输入输出体系 268
15.1 流的概念 268
15.1.1 C语言中I/O的弊端 268
15.1.2 流类 269
15.2 流对象和格式化输出 271
15.2.1 预定义的流对象 271
15.2.2 流格式化输出 272
15.3 重载流运算符 275
15.3.1 流运算符重载概述 275
15.3.2 插入运算符重载 276
15.3.3 提取运算符重载 277
15.4 文件操作 278
15.4.1 文件概述 278
15.4.2 文件操作基础 279
15.4.3 打开和关闭文件 279
15.4.4 文本文件输入输出 281
15.4.5 二进制文件输入输出 286
15.4.6 文件定位 288
15.5 本章实例 289
15.6 小结 297
第16章 异常处理 298
16.1 异常概述 298
16.1.1 异常的概念和分类 298
16.1.2 异常现象的举例 299
16.2 异常处理机制 299
16.2.1 异常处理的任务 300
16.2.2 异常处理基本思想 300
16.2.3 异常处理的组成 301
16.2.4 异常处理的执行过程 303
16.3 析构函数与异常处理 305
16.4 本章实例 307
16.5 小结 309
第17章 API编程和MFC框架简介 310
17.1 API编程介绍 310
17.1.1 认识API的编程 310
17.1.2 API函数的概念和作用 313
17.1.3 Windows API分类 314
17.1.4 Windows API基本术语 314
17.1.5 Windows API基本使用 316
17.2 MFC框架简介 318
17.2.1 认识MFC的程序 318
17.2.2 MFC的编程框架 319
17.2.3 MFC的模板 321
17.2.4 MDI应用程序的构成 321
17.3 小结 323
第18章 多线程处理 324
18.1 进程和线程 324
18.1.1 进程和线程的概念 324
18.1.2 线程的优先级 325
18.1.3 线程运行状态 325
18.2 线程的操作 326
18.2.1 线程的建立 326
18.2.2 线程的优先级设定 330
18.2.3 线程的挂起、恢复 330
18.2.4 线程的结束 332
18.3 本章实例 333
18.4 小结 335
第19章 链接库 336
19.1 链接库概述 336
19.2 静态链接库 337
19.2.1 静态链接库的编写 337
19.2.2 静态链接库的使用 339
19.3 动态链接库 340
19.3.1 DLL文件的编写 340
19.3.2 导出DLL资源 342
19.4 动态链接库的使用 345
19.4.1 隐式链接 345
19.4.2 显式链接 346
19.5 小结 348
第四篇 开发篇
第20章 基本算法 350
20.1 算法的概念和特征 350
20.1.1 算法的概念 350
20.1.2 算法的特征 350
20.1.3 算法的设计要求和描述方法 350
20.1.4 算法的衡量 351
20.2 常用算法 351
20.2.1 递推法 352
20.2.2 递归法 352
20.2.3 回溯法 353
20.2.4 贪婪法 354
20.2.5 分治法 355
20.2.6 动态规划法 356
20.2.7 迭代法 356
20.2.8 穷举法 357
20.3 小结 358
第21章 数据结构 359
21.1 线性表及其应用 359
21.2 链表及其应用 360
21.3 堆栈及其应用 362
21.4 队列及其应用 363
21.5 特殊矩阵、广义表及其应用 363
21.6 二叉树及其应用 364
21.7 散列结构及其应用 366
21.8 图及其应用 367
21.9 小结 368
第22章 数据库编程 369
22.1 概述 369
22.1.1 数据库和数据库系统 369
22.1.2 常见数据库访问技术 370
22.2 数据访问接口ODBC 371
22.2.1 ODBC概述 371
22.2.2 ODBC API编程 372
22.3 MFC的ODBC编程 375
22.3.1 CDatabase和CRecordSet类介绍 376
22.3.2 数据查询 378
22.3.3 参数化数据查询 379
22.3.4 新建数据 379
22.3.5 数据删除 380
22.3.6 数据更新 380
22.3.7 直接执行SQL语句 381
22.4 小结 381
第23章 网络编程 382
23.1 网络通信 382
23.1.1 网络类型 382
23.1.2 网络拓扑结构 382
23.2 网络通信协议 384
23.2.1 TCP/IP结构 384
23.2.2 UDP协议 385
23.2.3 相关术语 385
23.3 SOCKET网络编程接口 386
23.3.1 Socket模型 386
23.3.2 Socket的C/S编程方式 386
23.3.3 C++下的Socket 387
23.3.4 利用Socket建立服务器端程序 389
23.3.5 利用Socket建立客户端程序 391
23.4 小结 392
第24章 利用ADO实现简单的学生信息管理系统 393
24.1 ADO简介 393
24.1.1 ADO概述 393
24.1.2 MFC的ADO编程 394
24.1.3 ADO操作数据库的基本步骤 395
24.2 程序的需求 395
24.3 程序的界面设计 396
24.4 程序的数据库 396
24.5 核心程序实现分析 397
24.6 小结 400
第25章 火车信息查询系统 401
25.1 程序需求 401
25.2 程序界面 401
25.3 服务端程序 402
25.3.1 服务器通信类 402
25.3.2 建立处理线程 403
25.3.3 火车信息处理 404
25.3.4 发送和接收 405
25.4 客户端程序 406
25.4.1 连接服务器 406
25.4.2 发送车次信息 407
25.4.3 接收服务器返回信息 407
25.5 小结 408
C++是目前最流行且被广泛应用的程序设计语言之一,它的高效率和面向对象技术备受推崇。《C++从入门到精通》由浅入深,循序渐进地讲解了C++的各个知识点,并结合了一些实用的知识讲解了C++的主要应用。全书内容包括C++的发展历史和特点、基本元素与结构、基本数据类型、语句与控制结构、数组、指针与引用、自义类型与字符串、面向对象设计思想和类、重载技术、继承与派生技术、虚函数与多态性、模板与命名空间、标准模板库、输入输出体系、异常处理、API编程和MFC框架、多线程处理、链接库、基本算法、数据结构、数据库编程、网络编程等。为了使读者能够真正掌握C++的应用,书中最后两章通过建立两个实用的程序来向读者介绍C++的具体应用。《C++从入门到精通》适合C++初学者、具有一定C语言或者C++语言基础的中级学习者、学习C++的大中专院校的学生,同时也可以作为院校C++教学工作者的教学参考书。
起点低,即使没有任何编程基础,也能轻松掌握
重点讲解C++基础知识,还涉及了算法和数据结构等内容
对代码进行了详细注释,阅读起来很容易理解
全书提供了300个实例和2个综合案例,非常实用