标题：C++从入门到精通
内容简介
《C++从入门到精通》第1篇【基础知识】主要讲解C++程序设计入门、第1个C++程序——Hello，C++、常量与变量、数据类型和声明、运算符和表达式、程序控制结构和语句及算法与流程图等；第2篇【核心技术】主要讲解C++中的数组、函数、指针、类和对象、命名空间、继承、多态与重载及输入和输出等；第3篇【高级应用】主要讲解C++中的文件操作、容器、模板、标准库和异常处理等高级技术；第4篇【项目实战】包括实战前的项目规划、图书信息管理系统、职工信息管理系统、日历系统、学生成绩管理系统和银行卡管理系统等；第5篇【王牌资源】在DVD光盘中赠送了丰富的资源，诸如库函数查询手册、C++常用查询手册、源码大放送、《C++从入门到精通》【练一练】答案、C++程序员职业规划、C++程序员面试技巧、C++常见面试题、C++常见错误及解决方案、C++开发经验及技巧大汇总等。
另外光盘中还包含37小时的全程同步视频教学录像及8小时的指导录像（包括《C++从入门到精通》所有范例运行指导录像及各章上机指导录像）。
《C++从入门到精通》适合任何想学习C++的人员，无论您是否从事计算机相关行业，无论您是否接触过C++，通过学习均可快速掌握C++的开发方法和技巧。
图书信息
  书 名: C++从入门到精通
作　者：徐兆元
出版社： 化学工业出版社
出版时间： 2009年09月
ISBN: 9787122062932
开本： 16开
定价: 49.80 元
内容简介
C++是目前最流行且被广泛应用的程序设计语言之一，它的高效率和面向对象技术备受推崇。《C++从入门到精通》由浅入深，循序渐进地讲解了C++的各个知识点，并结合了一些实用的知识讲解了C++的主要应用。全书内容包括C++的发展历史和特点、基本元素与结构、基本数据类型、语句与控制结构、数组、指针与引用、自义类型与字符串、面向对象设计思想和类、重载技术、继承与派生技术、虚函数与多态性、模板与命名空间、标准模板库、输入输出体系、异常处理、API编程和MFC框架、多线程处理、链接库、基本算法、数据结构、数据库编程、网络编程等。为了使读者能够真正掌握C++的应用，书中最后两章通过建立两个实用的程序来向读者介绍C++的具体应用。《C++从入门到精通》适合C++初学者、具有一定C语言或者C++语言基础的中级学习者、学习C++的大中专院校的学生，同时也可以作为院校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 
……
图书信息
书名：C++从入门到精通
出版社：清华大学出版社
ISBN：9787302227441
出版时间：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