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

  • 购买积分:11 如何计算积分?
  • 作  者:冷英男,马石安主编
  • 出 版 社:中国林业出版社;北京大学出版社
  • 出版年份:2006
  • ISBN:7503844159
  • 页数:272 页
图书介绍:本书主要介绍了面向对象程序设计的基本原理和基本方法,包括抽象数据类型、类、对象、数据封装、继承和多态等面向对象技术中出现的基本概念和思想。

第1章 程序设计引论 1

1.1 程序与计算机 1

1.1.1 计算机与指令 1

1.1.2 存储程序与运行程序 5

1.2 程序设计 6

1.2.1 程序设计语言 7

1.2.2 程序设计方法概述 10

1.3 面向对象程序设计 12

1.3.1 面向对象程序设计的基本思想 12

1.3.2 面向对象的抽象原理 13

1.3.3 基本概念 15

1.4.1 面向对象程序设计语言的特征 18

1.4 面向对象程序设计语言 18

1.4.2 面向对象程序设计的几种常用语言 19

习题 21

第2章 C++程序设计语言基础 22

2.1 C++的基本语言成分 22

2.1.1 数据类型 22

2.1.2 变量的声明与赋值 24

2.1.3 常量 25

2.1.4 表达式与运算符 28

2.1.5 基本数据类型的转换 29

2.2 C++的基本程序结构 31

2.2.1 C++语言的程序语句 31

2.2.2 顺序结构 32

2.2.3 分支结构 32

2.2.4 循环结构 33

2.2.5 其他控制执行顺序的机制 35

2.3 C++语言的进一步讨论 37

2.3.1 一个C++程序的例子 37

2.3.2 C++中的变量 38

2.3.3 输入输出 40

2.3.4 引用 41

2.3.5 函数 41

2.4 上机指导 46

2.4.1 Visual C++6.0界面 46

2.4.2 生成一个空的Console Application(控制台程序) 47

2.4.3 向工程中添加文件 48

2.4.4 Workspace窗口的结构 49

2.4.5 运行程序 50

习题 51

第3章 类与简单对象 53

3.1 类的定义 53

3.1.1 定义类 53

3.1.2 class与struct的区别 54

3.2 类的实现 55

3.3 类的使用——对象 56

3.3.1 对象的声明和使用 56

3.3.2 this指针 56

3.4 构造函数和析构函数 57

3.4.1 构造函数 57

3.4.2 析构函数 62

3.4.3 构造对象的顺序 63

3.4.4 一些破坏类的数据隐藏的用法 63

3.5.1 声明与定义 64

3.5 上机指导 64

3.5.2 部分实现 65

3.5.3 测试 66

习题 66

第4章 复杂对象 68

4.1 对象指针 68

4.1.1 指针定义格式 68

4.1.2 对象指针 69

4.1.3 this指针 72

4.2 对象数组与对象指针数组 75

4.2.1 数组的定义格式 75

4.2.2 对象数组 76

4.2.3 对象指针数组 77

4.3 对象引用 78

4.3.1 引用的定义格式 79

4.3.2 引用的用途 79

4.3.3 对象引用 82

4.4 子对象和堆对象 83

4.4.1 子对象 83

4.4.2 堆对象 86

4.5 上机指导 90

4.5.1 定义类 90

4.5.2 类实现 91

4.5.3 测试 92

4.5.4 比较对象指针与对象引用 92

习题 94

5.1 基类和派生类 96

5.1.1 继承和派生的基本概念 96

第5章 继承和派生类 96

5.1.2 继承的种类 97

5.2 单继承 97

5.2.1 单继承的定义格式 97

5.2.2 基类成员在派生类中的访问权限 99

5.2.3 公有派生和赋值兼容规则 104

5.3 多继承 105

5.3.1 多继承的定义格式 105

5.3.2 二义性和支配规则 106

5.3.3 虚基类 111

5.4 继承机制下构造函数与析构函数的调用顺序 112

5.4.1 继承机制下构造函数的调用顺序 112

5.4.2 派生类构造函数的规则 116

5.4.3 继承机制下析构函数的调用顺序 120

5.5.1 保护成员的作用 122

5.5 上机指导 122

5.5.2 私有继承 123

习题 124

第6章 数据成员的进一步使用 126

6.1 静态成员 126

6.1.1 静态数据成员 126

6.1.2 静态成员函数 129

6.2 友元 130

6.2.1 友元的作用 130

6.2.2 友元函数 132

6.2.3 友元类 136

6.3 类型转换与转换函数 136

6.3.1 类型的隐含转换 136

6.3.2 构造函数的类型转换功能 137

6.4 上机指导 139

6.3.3 转换函数 139

6.4.1 定义类 140

6.4.2 类实现 140

6.4.3 测试 141

习题 141

第7章 多态性和虚函数 144

7.1 静态联编与动态联编 144

7.1.1 静态联编 144

7.1.2 动态联编 145

7.2 虚函数 146

7.2.1 虚函数的定义与使用 146

7.2.2 多重继承和虚函数 149

7.2.3 在类的成员函数中调用虚函数 153

7.3.1 纯虚函数 156

7.3 纯虚函数和抽象类 156

7.3.2 抽象类 157

7.4 纯析构函数 158

7.5 上机指导 159

7.5.1 定义类 159

7.5.2 实现 160

7.5.3 测试 161

习题 161

第8章 运算符重载 165

8.1 概述 165

8.1.1 运算符重载的规则 165

8.1.2 编译程序选择重载运算符的规则 166

8.2 运算符重载的形式 166

8.2.1 用成员函数重载运算符 166

8.2.2 用友员函数重载运算符 168

8.2.3 两种运算符重载形式的比较 170

8.3 赋值运算符重载 171

8.3.1 重载赋值运算符的时机 171

8.3.2 重载赋值运算符的格式 172

8.3.3 重载赋值运算符函数的返回值 174

8.3.4 赋值运算符重载函数与复制构造函数的区别 174

8.4 几个典型运算符重载 176

8.4.1 ++和--运算符 176

8.4.2 []运算符 180

8.4.3 ()运算符 182

8.5 上机指导 185

8.5.1 类的定义与实现 185

8.5.2 测试 187

8.5.3 运行结果 188

习题 189

第9章 模板 191

9.1 模板的概念 191

9.2 函数模板 192

9.2.1 函数模板说明 192

9.2.2 使用函数模板 193

9.3 类模板 193

9.3.1 类模板说明 193

9.3.2 使用类模板 194

9.4 上机指导 195

9.4.1 定义类 195

9.4.2 类实现 196

9.4.3 测试 197

习题 198

10.2 标准流和流操作 200

第10章 I/O流类库 200

10.1 流类和流对象 200

10.2.1 使用cin进行输入 201

10.2.2 使用cout进行输出 202

10.3 格式操作 202

10.4 重载提取符和插入符 205

10.5 流的出错处理 205

10.6 文件流操作 206

10.6.1 文件流及其相关的类 206

10.6.2 文件的流操作 206

10.7 上机指导 208

10.7.1 定义类 208

10.7.2 类实现 209

10.7.3 测试 211

习题 212

第11章 异常处理 215

11.1 概述 215

11.2 异常接口规范声明 217

11.3 上机指导 219

习题 220

第12章 设计模式示例 222

12.1 Observer模式 222

12.1.1 设计模式 222

12.1.2 Observer模式 224

12.2 Observer模式的实现 227

12.2.1 Observer模式中的类 227

12.2.2 Observer模式的序列图 227

12.2.3 关于实现的讨论 228

12.3 示例代码 231

12.3.1 接口的定义 232

12.3.2 具体的目标类 233

12.3.3 具体的观察者类 233

12.4 上机指导 235

习题 235

第13章 面向对象软件开发方法 236

13.1 面向对象开发方法简介 236

13.1.1 面向对象的Coad方法 237

13.1.2 面向对象的OMT方法 239

13.1.3 UML与RUP 241

13.2 面向对象技术中的常用建模图形工具 244

13.2.1 类图 244

13.2.2 在类图中表示关系 246

13.2.3 状态图 249

13.2.4 序列图 250

13.2.5 用例图 250

13.3 面向对象分析 252

13.3.1 面向对象分析的目的和任务 253

13.3.2 面向对象分析过程 254

13.4 面向对象设计 259

13.4.1 面向对象的系统设计 260

13.4.2 对象设计 263

13.5 实现 265

13.5.1 程序设计风格 265

13.5.2 编码标准 267

习题 268

附录 C++关键字 269

参考文献 272