图书目录

目  录

第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 8

1.3  认知C++程序代码 9

1.4  C++工程项目文件 10

1.5  使用VC创建程序 11

1.6  编译与连接过程 13

1.7  C++的特点 15

1.8  小结 16

第2章  数据类型 17

 视频讲解:1小时26分钟

2.1  第一个C++程序 18

2.1.1  #include指令 18

2.1.2  注释 18

2.1.3  main函数 19

2.1.4  函数体 19

2.1.5  函数返回值 19

2.2  数据类型 19

2.3  常量及符号 20

2.3.1  整型常量 21

2.3.2  实型常量 21

2.3.3  字符常量 22

2.3.4  字符串常量 23

2.3.5  其他常量 23

2.4  变量 23

2.4.1  标识符 24

2.4.2  变量与变量说明 24

2.4.3  整型变量 25

2.4.4  实型变量 25

2.4.5  变量赋值 26

2.4.6  变量赋初值 26

2.4.7  字符变量 27

2.5  数据输入与输出 28

2.5.1  控制台屏幕 28

2.5.2  C++语言中的流 28

2.5.3  流操作的控制 30

2.6  小结 36

2.7  实践与练习 36

第3章  表达式与语句 37

 视频讲解:55分钟

3.1  运算符 38

3.1.1  算术运算符 38

3.1.2  关系运算符 39

3.1.3  逻辑运算符 40

3.1.4  赋值运算符 41

3.1.5  位运算 42

3.1.6  移位运算符 43

3.1.7  sizeof运算符 45

3.1.8  条件运算符 45

3.1.9  逗号运算符 46

3.2  结合性和优先级 46

3.3  表达式 47

3.3.1  算术表达式 48

3.3.2  关系表达式 48

3.3.3  条件表达式 48

3.3.4  赋值表达式 49

3.3.5  逻辑表达式 49

3.3.6  逗号表达式 49

3.3.7  表达式中的类型转换 50

3.4  语句 53

3.5  小结 54

3.6  实践与练习 54

第4章  条件判断语句 55

 视频讲解:35分钟

4.1  决策分支 56

4.2  判断语句 57

4.2.1  第一种形式的判断语句 57

4.2.2  第二种形式的判断语句 58

4.2.3  第三种形式的判断语句 60

4.3  使用条件运算符进行判断 61

4.4  switch语句 63

4.5  判断语句的嵌套 66

4.6  小结 68

4.7  实践与练习 68

第5章  循环语句 69

 视频讲解:53分钟

5.1  while循环 70

5.2  do...while循环 71

5.3  while与do…while比较 73

5.4  for循环语句 74

5.5  循环控制 78

5.5.1  控制循环的变量 78

5.5.2  break语句 79

5.5.3  continue语句 80

5.5.4  goto语句 81

5.6  循环嵌套 82

5.7  循环应用实例 84

5.7.1  阿姆斯壮数 84

5.7.2  巴斯卡三角形 85

5.7.3  对输入的分数进行排名 86

5.8  小结 87

5.9  实践与练习 87

第6章  函数 89

 视频讲解:1小时14分钟

6.1  函数概述 90

6.1.1  函数的定义 90

6.1.2  函数的声明 90

6.2  函数参数及返回值 92

6.2.1  返回值 92

6.2.2  空函数 92

6.2.3  形参与实参 93

6.2.4  默认参数 93

6.2.5  可变参数 95

6.3  函数调用 96

6.3.1  传值调用 96

6.3.2  嵌套调用 98

6.3.3  递归调用 98

6.4  变量作用域 102

6.5  重载函数 103

6.6  内联函数 104

6.7  变量的存储类别 105

6.7.1  auto变量 105

6.7.2  static变量 106

6.7.3  register变量 108

6.7.4  extern变量 108

6.8  小结 109

6.9  实践与练习 109

第7章  数组、指针和引用 111

 视频讲解:1小时27分钟

7.1  一维数组 112

7.1.1  一维数组的声明 112

7.1.2  一维数组的引用 112

7.1.3  一维数组的初始化 113

7.2  二维数组 114

7.2.1  二维数组的声明 114

7.2.2  二维数组元素的引用 115

7.2.3  二维数组的初始化 115

7.3  字符数组 117

7.4  指针 124

7.4.1  变量与指针 124

7.4.2  指针运算符和取地址运算符 127

7.4.3  指针运算 128

7.5  指针与数组 130

7.5.1  数组的存储 130

7.5.2  指针与一维数组 130

7.5.3  指针与二维数组 132

7.5.4  指针与字符数组 135

7.6  指向函数的指针 136

7.7  引用 137

7.7.1  使用引用传递参数 139

7.7.2  指针传递参数 140

7.7.3  数组作函数参数 141

7.8  指针数组 143

7.9  小结 145

7.10  实践与练习 145

第8章  构造数据类型 147

 视频讲解:59分钟

8.1  结构体 148

8.1.1  结构体定义 148

8.1.2  结构体变量 149

8.1.3  结构体成员及初始化 149

8.1.4  结构体的嵌套 152

8.1.5  结构体大小 153

8.2  结构体与函数 154

8.2.1  结构体变量作函数参数 155

8.2.2  结构体指针作函数参数 155

8.3  结构体数组 156

8.3.1  结构体数组声明与引用 157

8.3.2  指针访问结构体数组 158

8.4  共用体 159

8.4.1  共用体的定义与声明 159

8.4.2  共用体的大小 160

8.4.3  共用体的特点 161

8.5  枚举类型 161

8.5.1  枚举类型的声明 161

8.5.2  枚举类型变量 162

8.5.3  枚举类型的运算 163

8.6  自定义数据类型 165

8.7  小结 166

8.8  实践与练习 166

第2篇  核 心 技 术

第9章  面向对象编程 169

 视频讲解:32分钟

9.1  面向对象概述 170

9.2  面向对象与面向过程编程 171

9.2.1  面向过程编程 171

9.2.2  面向对象编程 171

9.2.3  面向对象的特点 172

9.3  统一建模语言 172

9.3.1  统一建模语言概述 172

9.3.2  统一建模语言的结构 173

9.3.3  面向对象的建模 175

9.4  小结 175

第10章  类和对象 177

 视频讲解:1小时1分钟

10.1  C++类 178

10.1.1  类概述 178

10.1.2  类的声明与定义 178

10.1.3  类的实现 180

10.1.4  对象的声明 184

10.2  构造函数 186

10.2.1  构造函数概述 186

10.2.2  复制构造函数 188

10.3  析构函数 190

10.4  类成员 192

10.4.1  访问类成员 192

10.4.2  内联成员函数 194

10.4.3  静态类成员 195

10.4.4  隐藏的this指针 197

10.4.5  嵌套类 198

10.4.6  局部类 199

10.5  友元 200

10.5.1  友元概述 200

10.5.2  友元类 202

10.5.3  友元方法 203

10.6  命名空间 206

10.6.1  使用命名空间 206

10.6.2  定义命名空间 206

10.6.3  在多个文件中定义命名空间 209

10.6.4  定义嵌套的命名空间 210

10.6.5  定义未命名的命名空间 212

10.7  小结 212

10.8  实践与练习 213

第11章  继承与派生 215

 视频讲解:57分钟

11.1  继承 216

  

11.1.1  类的继承 216

11.1.2  继承后可访问性 218

11.1.3  构造函数访问顺序 220

11.1.4  子类隐藏父类的成员函数 222

11.2  重载运算符 225

11.2.1  重载运算符的必要性 225

11.2.2  重载运算符的形式与规则 226

11.2.3  重载运算符的运算 228

11.2.4  转换运算符 230

11.3  多重继承 231

11.3.1  多重继承定义 231

11.3.2  二义性 233

11.3.3  多重继承的构造顺序 234

11.4  多态 235

11.4.1  虚函数概述 236

11.4.2  利用虚函数实现动态绑定 236

11.4.3  虚继承 237

11.5  抽象类 239

11.5.1  纯虚函数 239

11.5.2  实现抽象类中的成员函数 241

11.6  小结 242

11.7  实践与练习 243

  

第3篇  高 级 应 用

第12章  模板 247

 视频讲解:49分钟

12.1  函数模板 248

12.1.1  函数模板的定义 248

12.1.2  函数模板的作用 249

12.1.3  重载函数模板 251

12.2  类模板 252

12.2.1  类模板的定义与声明 252

12.2.2  简单类模板 254

12.2.3  默认模板参数 255

12.2.4  为具体类型的参数提供默认值 255

12.2.5  有界数组模板 256

12.3  模板的使用 258

12.3.1  定制类模板 258

12.3.2  定制类模板成员函数 260

12.3.3  模板部分定制 261

12.4  链表类模板 262

12.4.1  链表 263

12.4.2  链表类模板 265

12.4.3  类模板的静态数据成员 267

12.5  小结 269

12.6  实践与练习 269

第13章  STL标准模板库 271

 视频讲解:35分钟

13.1  序列容器 272

13.1.1  向量类模板 272

13.1.2  双端队列类模板 274

13.1.3  链表类模板 276

13.2  结合容器 278

13.2.1  set类模板 278

13.2.2  multiset类模板 282

13.2.3  map类模板 286

13.2.4  multimap类模板 288

13.3  算法 289

13.3.1  非修正序列算法 289

13.3.2  修正序列算法 292

13.3.3  排序算法 295

13.3.4  数值算法 301

13.4  迭代器 305

13.4.1  输出迭代器 305

13.4.2  输入迭代器 306

13.4.3  前向迭代器 307

13.4.4  双向迭代器 307

13.4.5  随机访问迭代器 308

13.5  小结 309

13.6  实践与练习 309

第14章  RTTI与异常处理 311

 视频讲解:22分钟

14.1  RTTI(运行时类型识别) 312

14.1.1  什么是RTTI 312

14.1.2  RTTI与引用 313

14.1.3  RTTI与多重继承 314

14.1.4  RTTI映射语法 315

14.2  异常处理 317

14.2.1  抛出异常 318

14.2.2  异常捕获 319

14.2.3  异常匹配 322

14.2.4  标准异常 324

14.3  小结 324

14.4  实践与练习 325

第15章  程序调试 327

 视频讲解:33分钟

15.1  选择正确的调试方法 328

15.2  程序错误常见的4种类型 328

15.2.1  语法错误 328

15.2.2  连接错误 329

15.2.3  运行时错误 329

15.2.4  逻辑错误 330

15.3  调试工具的使用 330

15.3.1  创建调试程序 331

15.3.2  进入调试状态 332

15.3.3  Watch窗口 332

15.3.4  Call Stack窗口 332

15.3.5  Memory窗口 333

15.3.6  Variables窗口 333

15.3.7  Registers窗口 333

15.3.8  Disassembly窗口 334

15.4  调试的基本应用 334

15.4.1  变量的跟踪与查看 334

15.4.2  位置断点的使用 335

15.4.3  数据断点的使用 337

15.5  调试的高级应用 338

15.5.1  在调试时修改变量的值 338

15.5.2  在循环中调试 339

15.6  小结 340

15.7  实践与练习 340

第16章  文件操作 341

 视频讲解:58分钟

16.1  文件流 342

16.1.1  C++中的流类库 342

16.1.2  类库的使用 342

16.1.3  ios类中的枚举常量 343

16.1.4  流的输入/输出 343

16.2  文件打开 344

16.2.1  打开方式 344

16.2.2  默认打开模式 345

16.2.3  打开文件同时创建文件 346

16.3  文件的读写 347

16.3.1  文件流 347

16.3.2  写文本文件 349

16.3.3  读取文本文件 349

16.3.4  二进制文件的读写 350

16.3.5  实现文件复制 351

16.4  文件指针移动操作 352

16.4.1  文件错误与状态 352

16.4.2  文件的追加 353

16.4.3  文件结尾的判断 354

16.4.4  在指定位置读写文件 356

16.5  文件和流的关联和分离 357

16.6  删除文件 358

16.7  小结 359

16.8  实践与练习 359

第17章  网络通信 361

 视频讲解:39分钟

17.1  TCP/IP协议 362

17.1.1  OSI参考模型 362

17.1.2  TCP/IP参考模型 362

  

17.1.3  IP地址 363

17.1.4  数据包格式 364

17.2  套接字 366

17.2.1  Winsock套接字 366

17.2.2  Winsock的使用 366

17.2.3  套接字阻塞模式 371

17.2.4  字节顺序 371

17.2.5  面向连接流 372

17.2.6  面向无连接流 372

17.3  简单协议通信 373

17.3.1  服务端 373

17.3.2  客户端 375

17.3.3  实例的运行 377

17.4  小结 377

17.5  实践与练习 377

第4篇  项 目 实 战

第18章  图书管理系统 381

 视频讲解:42分钟

18.1  系统设计 382

18.1.1  需求分析 382

18.1.2  系统目标 382

18.1.3  系统功能结构 382

  

18.2  图书类 383

18.3  主程序 387

18.4  添加图书 391

18.5  显示图书信息 391

18.6  删除图书 394

18.7  小结 394

  

  

C++从入门到精通(第2版)

  

目    录

  

XIV

  

  

XIII