《C++面向对象程序设计教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈懿编著
  • 出 版 社:北京:冶金工业出版社
  • 出版年份:2005
  • ISBN:7502437770
  • 页数:294 页
图书介绍:本书主要介绍了面向对象程序设计语言——C++的基本概念和相关知识。全书共分十二章,包括C++概述、结构体、类与对象、异常处理等。

第1章 C++概述 1

1.1 计算机程序设计语言的发展 1

1.1.1 机器语言与汇编语言 1

目录 1

1.1.2 高级语言 2

1.1.3 面向对象的语言 2

1.2 面向对象的方法 2

1.2.1 面向对象方法的由来 3

1.2.2 面向对象的基本概念 3

1.3.2 设计 5

1.3.3 编程 5

1.3 面向对象的软件开发 5

1.3.1 分析 5

1.3.4 测试 6

1.3.5 软件维护 6

1.4 C++语言的起源与特点 6

1.4.1 C++语言的起源 6

1.4.2 C++语言的特点 6

1.5.1 C++语言的基本符号集 7

1.5.2 标识符 7

1.5 C++的基本符号与词法 7

1.5.3 保留字 8

1.5.4 ASCII码字符集 8

1.6 C++语言程序的结构特点 8

1.6.1 简单的C++语言程序示例 8

1.6.2 C++程序语言的结构特点 9

1.7 C++程序的实现 10

1.7.1 C++程序的编辑、编译和运行 10

1.7.2 Visual C++6.0版本编译系统简介 12

一、选择题 15

综合练习一 15

小结 15

二、填空题 16

三、综合题 16

第2章 C++基本数据类型与表达式 17

2.1 C++数据类型 17

2.1.1 C++数据类型简介 17

2.1.2 区分数据类型的目的 17

2.1.3 基本数据类型 17

2.2 常量 19

2.2.1 数值常量 19

2.2.3 字符串常量 20

2.2.2 字符型常量 20

2.2.4 转义字符 21

2.2.5 符号常量与const常量 22

2.3 变量 23

2.3.1 变量声明和变量的地址 23

2.3.2 变量的分类 24

2.3.3 变量的声明实例 24

2.3.4 变量的初始化 25

2.4 运算符 25

2.4.2 关系运算符 26

2.4.1 算术运算符 26

2.4.3 逻辑运算符 27

2.4.4 位操作运算符 27

2.4.5 赋值运算符 28

2.4.6 其他运算符 28

2.4.7 运算符的优先级和结合性 30

2.5 表达式 31

2.5.1 表达式的种类 31

2.5.2 表达式的值和类型 31

2.5.3 算术表达式 32

2.5.4 关系表达式 33

2.5.6 条件表达式 34

2.5.5 逻辑表达式 34

2.5.7 赋值表达式 35

2.5.8 逗号表达式 36

2.5.9 数据类型的转换 36

小结 38

综合练习二 39

一、选择题 39

二、填空题 40

三、综合题 41

3.2 一维数组 42

3.2.1 一维数组的定义 42

3.1 数组的定义 42

第3章 数组 42

3.2.2 一维数组的引用 43

3.2.3 一维数组的初始化 44

3.3 二维数组 45

3.3.1 二维数组的定义 45

3.3.2 二维数组的引用 45

3.3.3 二维数组的初始化 46

3.4 字符数组 46

3.4.1 字符数组的定义 46

3.4.2 字符数组的初始化 47

3.4.3 字符串与字符数组 48

3.4.4 字符数组的引用 48

3.4.5 多个字符串的存储 49

3.4.6 字符函数和字符串函数 50

3.5 数组应用:排序 54

3.5.1 冒泡排序法(bubble sort) 54

3.5.2 插入排序法(insert so rt) 56

3.5.3 快速排序法(quick sort) 58

8.2.1 对象的定义格式 1 59

小结 59

综合练习三 60

一、选择题 60

二、填空题 62

三、综合题 62

第4章 预处理和语句 63

4.1 预处理功能 63

4.1.1 文件包含命令 63

4.1.2 条件编译命令 64

4.1.3 宏定义命令 66

4.2 语句 70

4.2.1 表达式语句和空语句 70

4.2.2 复合语句和分程序 70

4.3 选择语句 71

4.3.1 条件语句 71

4.3.2 开关语句 72

4.4.1 while循环语句 74

4.4.2 do-while循环语句 74

4.4 循环语句 74

4.4.3 for循环语句 75

4.4.4 多重循环 77

4.5 转向语句 80

4.5.1 goto语句 80

4.5.2 break语句 81

4.5.3 continue语句 82

小结 83

综合练习四 83

一、选择题 83

二、填空题 85

三、综合题 85

第5章 函数 88

5.1 数的定义及其说明 88

5.1.1 函数的定义 88

5.1.3 数定义的说明 89

5.1.2 数定义的简单示例 89

5.2.1 函数调用的格式 90

5.2.2 函数调用示例 90

5.2 数的调用 90

5.2.3 函数调用形式 91

5.3.2 函数声明与定义方法归纳 92

5.3 函数的原型声明 92

5.3.1 函数原型声明形式 92

5.4 函数调用中的数据传递 93

5.4.1 函数调用过程中内存机制 93

5.4.2 数值传递调用与地址传递调用 95

5.4.3 数组参数 97

5.4.4 引用作函数参数 100

5.4.5 返回指针的函数 101

5.5 函数指针 103

5.5.1 指向函数的指针 103

5.5.2 使用函数指针调用函数格式 104

5.5.3 函数指针作函数参数 105

5.6 函数重载 106

5.6.1 函数重载的概念 106

5.6.2 参数类型上不同的重载函数 106

5.6.3 参数个数上不同的重载函数 106

5.7 变量的作用域与存储类型 107

5.7.1 变量的作用域 107

5.7.2 变量的存储类型 111

5.8 联函数 112

5.8.1 内联函数引入的原因 112

5.8.2 联函数的定义方法 113

5.8.3 使用内联函数应注意的事项 113

5.9 递归函数 113

5.9.1 递归函数的概念 113

5.9.2 函数调用机制的说明 114

5.9.3 递归调用的形式 114

5.9.4 递归的条件 115

小结 115

5.9.5 递归的评价 115

综合练习五 116

一、选择题 116

二、填空题 117

三、综合题 117

第6章 指针、引用与动态空间管理 119

6.1 指针 119

6.1.1 指针的概念 119

6.1.2 定义指针 120

6.1.3 指针的赋值 120

6.1.4 指针的运算 121

6.2 指针与数组 121

6.3 引用 124

6.4 动态存储空间管理 126

6.4.2 delete运算符 126

6.4.1 new运算符 126

6.4.3 malloc与free函数简介 128

小结 128

综合练习六 129

一、选择题 129

三、综合题 130

二、填空题 130

7.1 结构体类型定义 131

第7章 结构体、共用体与枚举 131

7.2 结构体变量声明与初始化 132

7.2.1 结构体变量声明 132

7.2.2 结构体变量初始化 133

7.3 结构体变量使用方式 134

7.3.1 结构体变量与数组的应用 134

7.3.2 结构体指针变量应用 136

7.4 结构体与函数 137

7.5 链表 140

7.5.1 链表的结构 141

7.5.2 链表的操作 142

7.6 共用体 145

7.6.1 共用体类型与变量 145

7.6.2 共用体类型应用 146

7.7 枚举类型 147

7.7.1 枚举类型定义 147

7.7.2 枚举变量应用 148

7.8 类型名的重定义 149

小结 150

一、选择题 151

综合练习七 151

二、填空题 152

三、综合题 153

第8章 类与对象 155

8.1 类的定义 155

8.1.1 类的概念 155

8.1.2 类的定义格式 155

8.1.3 定义类时应注意的事项 158

8.2 对象的定义 159

8.2.2 对象成员的表示方法 160

8.3 对象的初始化 161

8.3.1 构造函数与析构函数 162

8.3.2 缺省构造函数和缺省析构函数 163

8.3.3 拷贝初始化构造函数 164

8.4 成员函数的特性 166

8.4.1 内联函数和外联函数 166

8.4.2 重载性 167

8.4.3 设置参数的缺省值 168

8.5 静态成员 169

8.5.1 静态数据成员 170

8.5.2 静态成员函数 172

8.6 友元 173

8.6.1 友元函数 173

8.6.2 友元类 175

8.7 类的作用域 176

8.8 局部类与嵌套类 177

8.8.1 局部类 177

8.8.2 嵌套类 178

8.9 对象的生存期 179

小结 181

一、选择题 182

综合练习八 182

二、填空题 183

三、综合题 183

第9章 继承性与派生类 184

9.1 基类和派生类 184

9.1.1 派生类的定义格式 184

9.1.2 继承方式 185

9.1.3 基类与派生类的关系 186

9.2.1 成员访问权限的控制 187

9.2 单继承 187

9.2.2 构造函数和析构函数 190

9.2.3 子类型化和类型适应 195

9.3 多继承 197

9.3.1 多继承的概念 197

9.3.2 多继承的构造函数 198

9.3.3 二义性问题 200

9.4 虚基类 204

9.4.1 虚基类的引入和说明 205

9.4.2 虚基类的构造函数 206

9.5 应用实例——日期和时间 207

小结 210

综合练习九 210

一、选择题 210

二、填空题 211

三、综合题 211

第10章 多态性与虚函数 213

10.1 运算符重载 213

10.1.1 运算符重载的几个问题 213

10.1.2 运算符重载函数的两种形式 214

10.1.3 其他运算符的重载举例 220

10.2 静态联编和动态联编 223

10.2.1 静态联编 223

10.2.2 动态联编 224

10.3 虚函数 225

10.4 纯虚函数和抽象类 228

10.4.1 纯虚函数 228

10.4.2 抽象类 230

10.5 虚析构函数 231

10.6.1 模板的概念 232

10.6.2 函数模板 232

10.6 模板 232

10.6.3 类模板 234

小结 236

综合练习十 236

一、选择题 236

二、填空题 237

三、综合题 237

第11章 C++的I/O流库 241

11.1 屏幕输出 242

11.1.1 使用预定义的插入符 242

11.1.2 使用成员函数put()输出一个字符 243

11.1.3 使用成员函数write()输出一串字符 244

11.2 键盘输入 245

11.2.1 使用预定义的提取符 245

11.2.2 使用成员函数get()获取一个字符 247

11.2.3 使用成员函数read()读取一串字符 249

11.3 插入符和提取符的重载 250

11.4 格式化输入和输出 251

11.4.1 设置流的格式化标志 251

11.4.2 格式输出函数 253

11.4.3 操作子 254

11.5.1 磁盘文件的打开和关闭操作 255

11.5 磁盘文件的输入和输出 255

11.5.2 文本文件的读写操作 257

11.5.3 二进制文件的读写操作 260

11.5.4 随机访问数据文件 261

11.5.5 其他有关文件操作的函数 264

11.6 字符串流 266

11.6.1 ostrstream类的构造函数 266

11.6.2 istrstream类的构造函数 268

11.7 流错误的处理 269

11.7.1 状态字和状态函数 269

小结 270

11.7.2 清除/设置流的状态位 270

综合练习十一 271

一、选择题 271

二、填空题 271

三、综合题 272

第12章 异常处理 273

12.1 异常处理的概念 273

12.2 异常处理的基本思想 274

12.3 异常处理的实现 274

12.4 异常处理的规则 277

12.5 异常事件的多路捕获 280

12.6 异常处理机制 282

12.7 使用异常处理的方法 285

小结 287

综合练习十二 287

一、选择题 287

二、填空题 287

三、综合题 288

第2章 289

第3章 289

第1章 289

参考答案 289

第4章 290

第5章 290

第6章 291

第7章 291

第8章 292

第9章 293

第10章 293

第11章 293

第12章 293

参考文献 294