当前位置:在线查询网 > 在线百科全书查询 > C++语言从入门到精通(视频实战版)

C++语言从入门到精通(视频实战版)_在线百科全书查询


请输入要查询的词条内容:

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

相关分词: C++ 语言 入门 精通 视频 实战