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

  • 购买积分:10 如何计算积分?
  • 作  者:石志国,李向前,薛为民编著
  • 出 版 社:清华大学出版社;北京交通大学出版社
  • 出版年份:2005
  • ISBN:7810825267
  • 页数:246 页
图书介绍:本书从体系上分成四大部分:第一部分程序设计基础,介绍C++编程体系概述和C++语法基础;第二部分面向过程C++程序设计,介绍函数、指针、异常处理和泛型算法初步;第三部分面向对象的C++程序设计,介绍类的基本概念、静态成员、友元、继承、运算符重载、虚函数和多态性;第四部分准确高效地编写C++应用程序,介绍输入输出流程、模板、C++编码规范与编码助手。

第1章 C++编程体系概述 3

1.1 编程语言的产生 3

1.1.1 C语言的产生 3

1.1.2 C++语言的产生 3

第一部分 C++语言程序设计基础 3

1.2 编程语言的体系划分 4

1.3 程序设计方法 4

1.3.1 结构化程序设计方法 4

1.4.1 C++语言的优势 5

1.4.2 C++语言的内容 5

1.3.2 面向对象程序设计方法 5

1.4 C++语言编程体系 5

1.4.3 选择编程工具 6

1.4.4 学习方法 10

1.5 C++程序结构初步 10

1.5.1 预处理指示符初步 10

1.6.1 面向过程的C语言 11

1.6 使用C++语言编写简单代码 11

1.5.2 注释 11

1.5.3 基本输入输出 11

1.6.2 面向过程的C++语言 12

1.6.3 面向对象的C++语言 13

小结 16

课后习题 16

第2章 C++语法基础 18

2.1 C++数据类型 18

2.1.1 基本数据类型 18

2.1.2 复合数据类型 21

2.1.3 容器类型 21

2.1.4 字符串类型 23

2.1.5 枚举类型 24

2.1.6 C++的常量 25

2.1.7 C++的变量 27

2.2.1 C++标准输入输出流 28

2.2 C++的基本输入输出格式 28

2.2.2 控制输出格式 29

2.3 C++的表达式与运算符 32

2.3.1 算术运算符 32

2.3.2 关系运算符 32

2.3.3 逻辑运算符 33

2.3.4 赋值运算符 33

2.3.5 递增递减运算符 34

2.3.6 条件运算符 35

2.3.7 sizeof运算符 35

2.3.8 位运算符 36

2.3.9 bitset运算符 37

2.3.10 运算符的优先级和结合律 38

2.3.11 类型转换 39

2.4 C++的控制语句 40

2.4.1 顺序结构语句 40

2.4.2 选择结构语句 41

2.4.3 循环结构语句 45

2.4.4 中止语句 48

2.4.5 预处理语句 49

小结 52

课后习题 52

第二部分 面向过程的C++程序设计 57

第3章 指针与数组 57

3.1 存储方式 57

3.1.1 地址的概念 57

3.1.2 地址的运算 57

3.2 指针类型 58

3.2.1 指针的定义 58

3.2.2 指针的运算 59

3.2.3 指向常量的指针和常量指针 60

3.3 引用类型 61

3.3.1 引用的定义 61

3.4 数组类型 62

3.3.2 引用的使用 62

3.4.1 一维数组 63

3.4.2 多维数组 65

3.5 结构类型 66

3.5.1 结构基本概念 66

3.5.2 访问结构成员 67

3.5.3 给结构赋值 68

3.5.4 结构与指针 69

3.6 字符数组 70

3.6.1 定义字符数组 70

3.6.2 字符串处理函数 71

小结 72

课后习题 73

4.1.1 函数的分类 75

4.1.2 函数的定义和调用 75

4.1 函数的基本概念 75

第4章 函数 75

4.2 函数参数的缺省 77

4.3 函数参数的传递 78

4.3.1 按值传递 78

4.3.2 按地址传递 79

4.4 函数的嵌套与递归 82

4.4.1 函数的嵌套 82

4.4.2 函数的递归调用 83

4.5 内联函数 85

4.6 函数的重载 86

4.7 作用域和生命期 88

4.7.1 局部变量 88

4.7.2 全局变量 90

4.7.3 命名空间域 91

小结 93

课后习题 93

5.1 异常的基本概念 95

第5章 异常处理 95

5.2 异常的实现 96

5.2.1 异常的抛出与捕获 96

5.2.2 异常的处理规则 98

小结 99

课后习题 99

第6章 泛型算法初步 101

6.1 泛型算法的必要性 101

6.2.1 泛型算法的组成 102

6.2 泛型算法的基本概念 102

6.2.2 几种常用的iterator 104

小结 107

课后习题 108

第三部分 面向对象的C++程序设计 111

第7章 类的基本概念 111

7.1 类的定义 111

7.1.2 成员函数 112

7.1.1 数据成员 112

7.1.3 类对象成员的访问 114

7.1.4 类的访问限制 115

7.1.5 动态内存分配 116

7.2 构造函数和析构函数 117

7.2.1 构造函数的概念 117

7.2.2 析构函数的概念 118

7.2.3 带参数的构造函数 119

7.2.4 重载构造函数 120

7.3 类中的this指针 121

7.4 类中的const修饰符 122

7.4.1 常对象 122

7.4.2 常成员函数 122

7.4.3 常数据成员 123

7.5 堆与拷贝构造函数 124

7.5.1 堆对象 124

7.5.2 分配堆对象 124

7.5.3 拷贝构造函数 125

课后习题 128

小结 128

第8章 静态成员与友元 129

8.1 静态成员 129

8.1.1 静态数据成员 129

8.1.2 静态成员函数 131

8.2 友元 132

8.2.1 需要友元的原因 133

8.2.2 友元函数 133

8.2.3 友元类 134

小结 136

课后习题 136

第9章 运算符重载 137

9.1 运算符重载的概念 137

9.1.1 常用的运算符 137

9.2.1 重载增量运算符 138

9.1.2 运算符重载的实现 138

9.2 单目运算符重载 138

9.2.2 返回对象 139

9.3 双目运算符重载 141

9.4 赋值运算符重载 142

9.4.1 复合赋值运算符重载 142

9.4.2 赋值运算符的重载 143

9.4.3 类的典型结构 145

9.5 类型转换 146

9.5.1 基本类型到用户定义类型的转换 147

9.5.2 用户定义类型到基本类型的转换 148

9.5.3 用户自定义类型之间的转换 149

小结 152

课后习题 152

10.1 继承的基本概念 154

10.1.1 继承的必要性 154

第10章 继承 154

10.1.2 继承的实现方式 156

10.1.3 继承中的静态数据成员 158

10.2 基类和派生类的关系 159

10.2.1 基类指针 159

10.2.2 继承下的构造函数和析构函数 159

10.2.3 重写基类成员 161

10.2.4 调用基类成员函数 162

10.3 protected关键字详解 163

10.4 保护继承与私有继承 164

10.4.1 公有继承 164

10.4.2 私有继承 165

10.4.3 保护继承 166

10.5 其他代码重用的方式 166

小结 168

课后习题 168

11.1.1 多继承的基本概念 170

第11章 多重继承和多态性 170

11.1 多继承 170

11.1.2 多重继承下的构造函数 171

11.1.3 多重继承下的二义性 173

11.1.4 虚拟继承 175

11.2 虚函数 176

11.3 多态性 178

11.3.1 多态性的分类 178

11.3.2 编译时多态 178

11.3.3 运行时多态 179

11.4 纯虚函数与抽象类 180

11.5 虚析构函数 181

11.5.1 虚析构函数的必要性 181

11.5.2 引入虚析构函数 182

小结 183

课后习题 183

12.1.1 外部存储类型 187

12.1 C++的程序结构 187

第12章 程序结构与C++的输入输出 187

第四部分 准确高效地编写C++应用程序 187

12.1.2 头文件 189

12.2 C++流的概念 190

12.2.1 基本流类库 191

12.2.2 文件流类库 191

12.2.3 字符串流类库 192

12.3.1 运算符<< 193

12.3 三种输出操作 193

12.3.2 成员函数put() 194

12.3.3 成员函数write() 194

12.4 四种输入操作 195

12.4.1 运算符>> 195

12.4.2 成员函数get() 196

12.4.3 成员函数getline() 197

12.4.4 成员函数read() 197

12.5.1 文件的打开和关闭 198

12.5 文件的输入输出 198

12.5.2 文件的读写方法 199

12.5.3 文本文件的读写 201

12.5.4 二进制文件的读写 202

12.5.5 文件的随机读写 203

小结 204

课后习题 205

第13章 模板 206

13.1 模板的基本概念 206

13.1.1 使用模板的必要性 206

13.1.2 模板的分类 207

13.2 函数模板 207

13.2.1 函数模板的定义 207

13.2.2 使用函数模板 208

13.2.3 函数模板的重载 209

13.3.1 类模板的定义 210

13.3.2 使用类模板 210

13.3 类模板 210

小结 211

课后习题 211

第14章 C++编码助手 213

14.1 编码助手概述与安装 213

14.1.1 安装Visual Assist 6.0 213

14.1.2 编码助手的功能 214

14.2 使用编码助手 214

14.2.1 自动拼写检查 215

14.2.2 自动代码补齐 215

14.2.3 自动对齐 215

14.2.4 代码的颜色 215

14.2.5 调用代码框架 216

小结 217

课后习题 217

15.1 C++文件的程序结构 219

15.1.1 程序的排版 219

第15章 C++编码规范 219

15.1.2 注释 222

15.2 命名规则与可读性 225

15.2.1 标识符命名 225

15.2.2 提高程序的可读性 226

15.3 单元代码的规范 227

15.3.1 变量和结构 227

15.3.2 函数 229

15.4 提高可测试性和程序效率 232

15.3.3 类 232

15.4.1 可测性 233

15.4.2 程序效率 233

15.4.3 质量保证 236

15.4.4 使用宏 238

小结 238

课后习题 239

附录A 部分习题参考答案 240

参考文献 246