《C++程序设计基础教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:孙涛主编;周李涌,王丽颖副主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302336815
  • 页数:333 页
图书介绍:本书系统介绍了C++的语法规则和面向对象的程序设计方法。本书在编写设计上力求重点突出,逻辑清晰,讲解简洁明了,深入浅出。书中编写了丰富的例题,同时对例题的语法规则、设计思路和输出结果作了较为详尽的解释和分析。所有的例题均在Visual Studio C++6.0环境下运行通过。本书适合作为高等学校计算机专业及其相关专业的C++程序设计课程教材,还可以作为自学参考书。

第1章 绪论 1

1.1 面向对象程序设计方法 1

1.1.1 面向过程程序设计 1

1.1.2 面向对象程序设计 1

1.1.3 面向对象程序设计的特征 2

1.2 一个简单的C++程序 3

1.3 C++程序开发平台 4

1.3.1 界面介绍 4

1.3.2 编辑C++源程序 5

1.3.3 编译 6

1.3.4 链接 7

1.3.5 执行程序 8

1.3.6 直接运行程序 10

1.4 知识点小结 10

1.5 习题 11

第2章 C++程序设计基础 12

2.1 字符集与关键字 12

2.1.1 标识符(identifier) 12

2.1.2 关键字(keyword) 12

2.1.3 分隔符 13

2.2 基本数据类型 13

2.2.1 整型 13

2.2.2 字符型 14

2.2.3 浮点型 14

2.2.4 布尔型 14

2.3 常量 15

2.3.1 整型常量 15

2.3.2 浮点型常量 15

2.3.3 字符型常量 15

2.3.4 字符串常量 16

2.4 变量 16

2.4.1 变量的定义 16

2.4.2 变量的初始化 17

2.4.3 符号常量的定义 18

2.4.4 指针变量 19

2.4.5 引用变量 22

2.5 变量的定义与访问 23

2.5.1 按名称访问 23

2.5.2 按地址访问 23

2.5.3 引用方式访问 24

2.6 运算符与表达式 25

2.6.1 赋值运算符 25

2.6.2 算术运算符 25

2.6.3 关系运算符 27

2.6.4 逻辑运算符 28

2.6.5 条件运算符 29

2.6.6 逗号运算符 30

2.6.7 sizeof运算符 30

2.6.8 位运算 31

2.7 类型转换 32

2.8 运算符的优先级 35

2.9 构造数据类型 36

2.9.1 结构体 36

2.9.2 共用体 38

2.9.3 枚举 38

2.10 程序的基本控制结构 39

2.10.1 单分支结构 39

2.10.2 双分支结构 40

2.10.3 多分支结构 41

2.10.4 while循环 46

2.10.5 do-while循环 48

2.10.6 for循环 49

2.10.7 循环的嵌套 53

2.10.8 break和continue 53

2.11 知识点小结 56

2.12 习题 56

第3章 函数 59

3.1 函数的概述 59

3.2 函数的定义和调用 59

3.2.1 函数的定义 59

3.2.2 函数的声明 60

3.2.3 函数的参数 61

3.2.4 函数的返回值 62

3.2.5 函数的调用 64

3.3 函数的参数传递 67

3.3.1 传值调用 67

3.3.2 传地址调用 68

3.4 引用在函数中的应用 69

3.4.1 引用作为函数参数 69

3.4.2 引用作为函数返回值 70

3.5 默认参数的函数 70

3.6 内联函数 72

3.7 重载函数 73

3.8 变量的作用域与存储类别 76

3.8.1 变量的作用域 76

3.8.2 变量的存储类别 79

3.9 作用域限定运算符 82

3.10 知识点小结 83

3.11 习题 84

第4章 类与对象 86

4.1 类与对象的含义 86

4.1.1 对象的含义 86

4.1.2 类的含义 87

4.1.3 对象与类的关系 87

4.2 类的封装 87

4.2.1 封装 87

4.2.2 类成员的访问权限 88

4.2.3 类的定义 88

4.2.4 类的成员函数 89

4.3 对象的创建 91

4.3.1 对象的声明与定义 91

4.3.2 对象的成员访问 91

4.4 构造函数与析构函数 93

4.4.1 构造函数 94

4.4.2 默认构造函数 95

4.4.3 拷贝构造函数 96

4.4.4 析构函数 101

4.5 动态创建对象 103

4.6 this指针 105

4.7 类的组合 106

4.8 多文件结构 108

4.8.1 C++源文件的组织 108

4.8.2 多文件结构中的外部变量和外部函数 110

4.9 知识点小结 112

4.10 习题 114

第5章 静态成员与友元 118

5.1 类的静态成员 118

5.1.1 静态数据成员 118

5.1.2 静态成员函数 120

5.2 友元 123

5.2.1 友元函数 124

5.2.2 友元成员 125

5.2.3 友元类 126

5.3 常对象与常成员 128

5.3.1 常对象 128

5.3.2 常成员函数 129

5.3.3 常数据成员 130

5.4 知识点小结 132

5.5 习题 132

第6章 数组与指针 134

6.1 数组的定义与使用 134

6.1.1 数组的定义 134

6.1.2 数组的存储 135

6.1.3 数组的初始化 137

6.1.4 数组元素的使用 138

6.1.5 指针的运算 141

6.2 字符数组与字符串 144

6.2.1 字符数组的初始化 144

6.2.2 字符数组的输入和输出 145

6.2.3 字符指针与字符串 148

6.2.4 常用的字符串处理函数 150

6.3 对象指针 153

6.4 对象数组 153

6.4.1 对象数组的定义 153

6.4.2 对象数组的初始化 154

6.5 动态创建对象数组 156

6.5.1 动态创建对象数组 156

6.5.2 动态撤销对象数组 156

6.5.3 深拷贝和浅拷贝 158

6.6 数组做函数的参数 161

6.6.1 数组元素做参数 161

6.6.2 数组名做参数 161

6.6.3 指针做参数 162

6.7 知识点小结 165

6.8 习题 166

第7章 派生与继承 167

7.1 派生与继承的概念及意义 167

7.2 派生类的声明方式及其成员的访问控制 171

7.2.1 派生类的声明方式和构成 172

7.2.2 公有继承 173

7.2.3 私有继承 176

7.2.4 保护继承 178

7.2.5 不同继承方式的比较 179

7.3 派生类的构造函数与析构函数 180

7.3.1 简单派生类的构造函数 180

7.3.2 有子对象的派生类的构造函数 184

7.3.3 多层派生时的构造函数 186

7.3.4 派生类的析构函数 187

7.4 多重继承 189

7.4.1 声明多重继承的方式 189

7.4.2 多重继承派生类的构造函数 190

7.4.3 多重继承的二义性问题 192

7.4.4 虚基类 194

7.5 赋值兼容 202

7.6 继承与组合 204

7.7 知识点小结 205

7.8 习题 206

第8章 多态 211

8.1 多态性概念 211

8.2 虚函数 212

8.2.1 虚函数的作用 212

8.2.2 虚析构函数 216

8.3 纯虚函数与抽象类 217

8.4 运算符重载 225

8.4.1 运算符重载函数 225

8.4.2 典型运算符重载 231

8.4.3 类型转换 241

8.5 知识点小结 248

8.6 习题 249

第9章 模板 254

9.1 函数模板 254

9.1.1 函数模板与模板函数 254

9.1.2 类型参数表与函数模板实例化 258

9.1.3 函数模板的特化 260

9.1.4 函数模板的重载 261

9.2 类模板 265

9.2.1 类模板的定义和实例化 265

9.2.2 类模板的特化 274

9.3 类模板静态成员与友元 276

9.3.1 类模板的静态成员 276

9.3.2 类模板的友元 277

9.3.3 函数模板是两个类的友元 280

9.4 派生类模板 281

9.4.1 由普通类派生类模板 281

9.4.2 由类模板派生类模板 283

9.5 知识点小结 284

9.6 习题 285

第10章 输入输出流 288

10.1 I/O流的概念及流类库结构 288

10.1.1 I/O流的概念 288

10.1.2 I/O流类库结构 289

10.2 I/O标准流 290

10.2.1 标准流对象 290

10.2.2 标准输出流 290

10.2.3 标准输入流 295

10.3 插入和提取运算符的重载 297

10.3.1 系统预先对插入和提取运算符的重载 297

10.3.2 用户自定义对插入和提取运算符的重载 298

10.4 文件的输入输出 299

10.4.1 文件及分类 299

10.4.2 文件的打开与关闭 300

10.4.3 文本文件操作 301

10.4.4 二进制文件操作 302

10.5 字符串流操作 303

10.6 知识点小结 305

10.7 习题 305

第11章 命名空间与异常处理 307

11.1 命名空间 307

11.1.1 命名空间的产生背景及作用 307

11.1.2 命名空间的定义和使用 307

11.1.3 标准命名空间std 309

11.2 异常处理概述 310

11.2.1 异常处理产生背景 310

11.2.2 标准C++异常处理的特点 311

11.2.3 异常处理的机制 311

11.3 异常处理的实现 312

11.3.1 语法 312

11.3.2 异常接口说明 314

11.4 异常处理中的构造与析构 314

11.5 异常处理程序举例 316

11.6 知识点小结 319

11.7 习题 319

第12章 C++标准模板库 321

12.1 C++标准模板库简介 321

12.2 C++标准模板库概述 321

12.3 容器 322

12.3.1 序列式容器 322

12.3.2 关联式容器 324

12.3.3 容器配接器 324

12.4 迭代器 325

12.4.1 迭代器概述 325

12.4.2 迭代器分类 326

12.5 算法 326

12.5.1 区间的概念 326

12.5.2 多区间处理 328

12.6 配接器 329

12.7 仿函数 330

12.8 知识点小结 331

12.9 习题 331

参考文献 333