《标准C++程序设计 大专》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:牛连强编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2008
  • ISBN:9787115180285
  • 页数:248 页
图书介绍:本书内容仍以过程化和面向对象两大部分构成。第1章介绍C++语言的预备知识,并用简单示例比较了过程化程序设计与面向对象程序设计在思维上的差异。第2~5章介绍C++语言的过程化语法,也对C++语言中的基本对象做了渗透。第6~12章介绍C++语言的面向对象特征,第13章简要说明了建立在类模板基础上的泛型编程技术(尽管泛型编程是C++程序员必须掌握的知识,但我们认为这些内容并不是一、二章的篇幅所能容纳的,且教学学时一般也不允许,故只是做了一些引导性的介绍)。第14章介绍了C++的异常处理机制。

第1章 C++语言基础 1

1.1 C++语言概述 1

1.1.1 标准C++ 1

1.1.2 C++语言的简单程序 2

1.2 面向对象的程序设计思想 4

1.2.1 过程化的程序设计 4

1.2.2 面向对象的程序设计 6

1.3 面向对象程序设计的主要特点 7

1.4 程序的编辑、编译与运行 8

提示 9

思考 10

上机实验 10

第2章 基本数据与操作 11

2.1 标识符与关键字 11

2.1.1 标识符 11

2.1.2 关键字 12

2.2 数据与数据类型 12

2.2.1 程序中的数据 12

2.2.2 基本数据类型 13

2.2.3 整型常量 14

2.2.4 浮点型常量 14

2.2.5 字符型常量与字符串常量 14

2.2.6 符号常量 16

2.2.7 变量 17

2.3 简单运算 18

2.3.1 运算符和表达式 18

2.3.2 算术运算 18

2.3.3 赋值类运算 19

2.3.4 自加和自减运算 20

2.3.5 关系运算和逻辑运算 20

2.3.6 位运算 21

2.3.7 sizeof运算与逗号运算 23

2.4 混合运算与类型转换 24

2.4.1 隐式类型转换 24

2.4.2 显式类型转换 24

2.5 数据输入与输出 25

提示 26

思考 27

练习 27

上机实验 28

第3章 语句与流程控制 29

3.1 语句 29

3.2 选择结构 30

3.2.1 条件运算符和条件表达式 30

3.2.2 if语句 30

3.2.3 switch语句 32

3.3 循环结构 34

3.3.1 while语句 34

3.3.2 do-while语句 36

3.3.3 for语句 37

3.3.4 流程转向语句 39

提示 41

思考 41

练习 41

上机实验 43

第4章 指针、数组与引用 44

4.1 指针 44

4.1.1 指针的概念 44

4.1.2 指针运算 46

4.1.3 指针的安全性问题 47

4.2 数组 50

4.2.1 数组的定义与访问 50

4.2.2 数组的指针访问 51

4.3 引用 53

4.4 与指针相关的其他类型 54

4.4.1 指向指针的指针 54

4.4.2 指针数组 55

4.4.3 数组名与指向数组的指针变量 56

4.5 动态内存分配 57

4.5.1 分配单个对象 57

4.5.2 分配一个数组 58

4.5.3 malloc与free 59

提示 59

思考 60

练习 60

上机实验 61

第5章 函数与函数模板 63

5.1 函数的定义与声明 63

5.1.1 函数定义 63

5.1.2 函数声明 64

5.2 函数调用与参数匹配 65

5.2.1 调用关系 65

5.2.2 函数返回控制与函数调用表达式 66

5.3 参数的传递方式 68

5.3.1 普通传值方式 69

5.3.2 传递指针方式 69

5.3.3 传递引用方式 72

5.4 特殊的函数返回值 73

5.4.1 返回指针的函数 73

5.4.2 返回引用的函数 75

5.5 递归函数 77

5.6 内联函数 79

5.7 函数重载 79

5.8 指向函数的指针 81

5.9 函数模板 85

5.9.1 函数模板定义 85

5.9.2 模板函数调用 86

5.9.3 模板函数重载 87

5.10 变量的存储属性 88

5.10.1 外部变量 88

5.10.2 静态变量 89

5.10.3 自动变量 90

提示 90

思考 91

练习 91

上机实验 93

第6章 类与对象 95

6.1 类的定义 95

6.1.1 类的含义与表述 95

6.1.2 类定义的语法规则 96

6.2 类对象 98

6.2.1 对象定义 98

6.2.2 成员访问 98

6.2.3 对象存储 100

6.3 类的方法 101

6.3.1 为类提供必要的方法 101

6.3.2 inline方法 101

6.3.3 方法重载与缺省参数 102

6.3.4 常成员函数 102

6.3.5 this指针 103

6.3.6 类的模板函数方法 104

6.4 构造函数与对象初始化 104

6.4.1 初始化的难题 104

6.4.2 构造函数 105

6.4.3 无名对象与临时对象 107

6.4.4 对象数组与动态对象 108

6.4.5 成员初始化列表与特殊成员的初始化 109

6.5 拷贝构造函数 111

6.5.1 用已有类对象构建新的类对象 111

6.5.2 改变缺省的复制行为 112

6.5.3 拷贝构造函数的实现 113

6.6 析构函数与对象拆除 114

*6.7 设计一个栈类 114

6.8 字符串类string 116

6.9 其他类型构造技术 118

提示 120

思考 120

练习 120

上机实验 122

第7章 组织程序结构的相关技术 123

7.1 宏定义与条件编译 123

7.1.1 宏定义 123

7.1.2 条件编译 124

7.2 头文件包含 124

7.2.1 头文件包含指令 124

7.2.2 新旧库头文件 125

7.2.3 类定义与实现的分离 125

7.2.4 头文件中的内容 125

7.2.5 一个头文件示例 126

7.3 对象的构造与析构次序 126

7.3.1 对象构造的时机和次序 126

7.3.2 对象拆除的时机和次序 127

7.4 名字冲突与名字空间 127

7.4.1 名字冲突及对策 127

7.4.2 定义和使用名字空间 129

*7.5 extern声明及C++与C的混合编程 130

7.5.1 extern声明的作用 130

7.5.2 用extern“C”修饰C的代码 131

提示 132

思考 132

练习 133

上机实验 133

第8章 静态成员、友元与成员指针 134

8.1 静态成员 134

8.1.1 静态属性 134

8.1.2 静态方法 136

8.2 友元 136

*8.3 指向类成员的指针 138

8.3.1 利用普通指针访问静态成员和非静态数据成员 138

8.3.2 指向非静态方法的指针 139

提示 140

思考 141

练习 141

上机实验 142

第9章 继承 143

9.1 继承的概念与表示 143

9.1.1 继承与派生 143

9.1.2 继承关系的描述 144

9.2 继承的实现 145

9.2.1 继承的语法形式 145

9.2.2 对基类成员的访问 146

9.3 派生类对象的构造与析构 147

9.3.1 继承与聚集 147

9.3.2 复杂类型的构造与拆除 148

9.4 继承的工作方式 150

9.4.1 派生类对基类的覆盖 150

9.4.2 利用指针和引用的访问 151

提示 152

思考 152

练习 153

上机实验 154

第10章 虚函数与多态性 155

10.1 共同的基类 155

10.1.1 概念中的共性 155

10.1.2 公共基类 156

10.2 虚函数 157

10.2.1 多态性、静态联编与动态联编 157

10.2.2 用虚函数实现动态联编 158

10.2.3 构造、析构与虚函数 161

*10.2.4 虚函数的内部实现机制 161

10.2.5 重载、覆盖和隐藏 163

10.2.6 动态造型(dynamic_cast) 164

10.3 纯虚函数与抽象类 165

10.3.1 纯虚函数 165

10.3.2 抽象类 165

*10.4 多重继承 166

10.4.1 多重继承的语法 166

10.4.2 多重继承中的二义性 167

10.4.3 虚继承 168

提示 171

思考 171

练习 171

上机实验 172

第11章 运算符重载 173

11.1 重载运算符的概念 173

11.1.1 重载运算符的函数特征 173

11.1.2 类运算符重载的两种方法 174

11.1.3 重载运算符的限制 176

11.2 重载运算符函数的设计 177

11.3 若干常见运算符的重载 178

11.3.1 重载增量运算符++ 178

11.3.2 重载赋值运算符= 179

11.3.3 重载下标运算符 181

11.3.4 重载类型转换运算符 182

*11.3.5 重载函数调用运算符与函数对象 182

提示 183

思考 184

上机实验 184

第12章 流与文件操作 185

12.1 理解流机制 185

12.1.1 流与文件 185

12.1.2 从函数到对象 186

12.1.3 源、汇和iostream流控制类 186

*12.2 构造可流的类 188

12.2.1 进一步探讨cout和cin对象 188

12.2.2 重载输出运算符<< 189

12.2.3 重载输入运算符>> 189

12.3 格式控制 190

12.3.1 使用流的方法 190

12.3.2 使用操控符(Manipulators) 195

*12.3.3 内存格式化(字符串流) 198

12.4 文件流 199

12.4.1 文件打开与关闭 199

12.4.2 文件的读写操作 201

12.4.3 二进制文件 202

12.4.4 文件的随机访问 203

提示 204

思考 204

上机实验 205

第13章 类模板、容器与泛型算法 206

13.1 类模板 206

13.1.1 类模板的定义与使用 206

*13.1.2 设计一个队列模板 209

*13.2 C++的标准模板库 211

13.2.1 从简单操作看STL和泛型编程 211

13.2.2 迭代器 214

13.2.3 几种主要容器类与类的方法 218

13.2.4 几种常用的通用算法 221

提示 223

思考 223

上机实验 223

*第14章 异常处理 224

14.1 异常处理方法 224

14.1.1 传统处理方法 224

14.1.2 try-catch异常处理机制 225

14.2 用try-catch结构处理异常 226

14.3 异常处理中的其他问题 229

提示 230

思考 230

上机实验 231

附录A BCB6.0集成化环境的使用简介 232

附录B VisualC++6.0编程环境简介 241

附录C 常用字符与ASCII码对照表 246

附录D 运算符的优先级与结合性 247

参考文献 248