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

  • 购买积分:12 如何计算积分?
  • 作  者:马慧彬主编
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2016
  • ISBN:9787302429203
  • 页数:319 页
图书介绍:本套教材将面向对象思想理论与C++语言程序实现相结合,以几个C++实例贯穿教材始终,使读者能够由浅入深,循序渐进地学习,从实例出发,理解掌握面向对象程序设计思想。全书共分11章。第1章面向对象程序设计的基础知识。第2章VC++6.0开发环境简介。第3章 C++语言初步。第4章类与对象。第5章继承与派生。第6章多态性。第7章模板。第8章输入/输出流。第9章异常处理。第10章面向对象程序设计方法。第11章标准建模语言UML及其应用。

第一部分 理论知识 3

章1章 面向对象程序设计的基础知识 3

1.1 程序设计思想的发展 3

1.1.1 程序设计方法的发展 3

1.1.2 面向机器的语言 4

1.1.3 面向过程的语言 4

1.1.4 面向对象的语言 4

1.1.5 用于编写可视化程序的语言 5

1.2 面向对象程序设计的基本概念 5

1.2.1 对象 5

1.2.2 类 5

1.2.3 面向对象程序设计的三大特性 6

1.3 C++语言的基本程序结构 7

1.3.1 C++语言简介 7

1.3.2 C++的基本程序结构 8

1.3.3 C++的程序运行 9

1.4 面向对象程序设计过程 9

1.5 习题1 10

第2章 VC++ 6.0开发环境简介 12

2.1 安装Visual C++ 12

2.2 Visual C++ 6.0工作平台 14

2.2.1 Visual C++ 6.0基本用户界面 14

2.2.2 菜单命令简介 15

2.2.3 工具栏简介 20

2.3 编译与运行控制台工程 22

2.4 其他C++程序编辑环境简介 24

2.4.1 DEV 24

2.4.2 Visual C++ 20XX 27

2.5 习题2 29

第3章 C++语言初步 31

3.1 基本数据类型 31

3.1.1 数据类型概述 31

3.1.2 常用数据类型应用 32

3.1.3 保留字与标识符 34

3.1.4 变量 35

3.1.5 常量 36

3.1.6 构造数据类型 38

3.2 表达式与类型转换 41

3.2.1 表达式 41

3.2.2 自动类型转换 41

3.2.3 强制类型转换 42

3.3 指针 42

3.3.1 指针的定义与使用 42

3.3.2 指针与数组 45

3.3.3 指针运算 46

3.3.4 动态内存申请 47

3.4 基本控制结构 50

3.4.1 简单的输入/输出语句 50

3.4.2 条件语句 51

3.4.3 循环语句 52

3.4.4 转移语句 55

3.5 函数 57

3.5.1 普通函数定义 58

3.5.2 普通函数的调用机制 60

3.5.3 函数与引用 62

3.5.4 函数与const 64

3.5.5 内联函数 65

3.5.6 带有缺省参数的函数 66

3.6 习题3 67

第4章 类与对象 70

4.1 类 70

4.1.1 类的定义 70

4.1.2 类的实现 72

4.2 对象 72

4.2.1 对象的创建 72

4.2.2 this指针与对象的封装 74

4.2.3 类的定义与头文件 75

4.3 构造函数 76

4.3.1 对象的初始化方法 76

4.3.2 构造函数的定义 77

4.3.3 构造函数的调用 77

4.3.4 缺省构造函数 79

4.3.5 复制构造函数 81

4.4 析构函数 82

4.5 构造函数与类型转换 85

4.6 友元 87

4.6.1 友元函数 87

4.6.2 友元类 88

4.6.3 友元的使用 89

4.7 static成员 92

4.7.1 静态成员的定义与使用 92

4.7.2 静态成员综合实例 93

4.8 对象成员 94

4.8.1 对象成员的概念 94

4.8.2 对象成员的初始化 95

4.9 const与volatile 97

4.9.1 const型数据成员与volatile型数据成员 97

4.9.2 返回c_v的成员函数 98

4.9.3 const成员与volatile成员 98

4.10 习题4 99

第5章 继承与派生 102

5.1 继承的基本概念 102

5.2 单一继承 103

5.2.1 单一继承定义格式 103

5.2.2 赋值兼容性 105

5.3 继承与构造函数、析构函数 106

5.4 派生类 107

5.4.1 保护成员 107

5.4.2 派生类成员的访问控制 109

5.5 多重继承 109

5.5.1 多重继承的语法形式 110

5.5.2 二义性及其支配规则 111

5.6 虚基类 112

5.6.1 重复继承 112

5.6.2 虚基类的概念 114

5.7 优化类层次设计 115

5.7.1 抽象与具体 115

5.7.2 封装与开放 118

5.7.3 继承与组合 118

5.7.4 综合实例 119

5.8 继承与类库 123

5.9 习题5 124

第6章 多态性 127

6.1 多态性的基本概念 127

6.1.1 程序的多态性 127

6.1.2 函数调用捆绑 128

6.2 函数重载 128

6.2.1 普通函数重载 128

6.2.2 函数重载的注意事项 129

6.2.3 成员函数的重载 130

6.3 运算符重载 131

6.3.1 “=”的重载 131

6.3.2 “++”的重载 133

6.3.3 “[]”的重载 135

6.4 特殊运算符重载 136

6.4.1 类型符重载 136

6.4.2 运算符重载规则 138

6.5 虚函数 138

6.5.1 虚函数的概念 138

6.5.2 虚函数的使用 140

6.5.3 重载、覆盖和虚函数机制的区别 142

6.6 纯虚函数与抽象类 143

6.6.1 纯虚函数 143

6.6.2 抽象类 145

6.6.3 多态数据结构 146

6.7 虚析构函数 151

6.8 习题6 152

第7章 模板 154

7.1 模板的概念 154

7.1.1 引入模板的意义 154

7.1.2 定义模板的方法 155

7.2 函数模板 155

7.2.1 函数模板的定义与实例化 155

7.2.2 函数模板的重载 157

7.3 类模板 158

7.3.1 类模板的定义 158

7.3.2 类模板的实例化 160

7.3.3 多参数类模板 161

7.4 模板与继承 162

7.4.1 类模板的继承与派生 162

7.4.2 类模板与继承的关系 164

7.5 习题7 164

第8章 输入/输出流 167

8.1 C++的流类库 167

8.1.1 流类库的基本结构 167

8.1.2 支持文件的流类体系 168

8.1.3 支持字符串的流类体系 169

8.2 重载流的插入与提取 169

8.2.1 重载流的插入操作 169

8.2.2 重载流的提取操作 170

8.2.3 重载流的完整实例 170

8.3 格式化输入与输出 172

8.3.1 使用ios类的成员函数 172

8.3.2 格式化输入/输出函数 174

8.4 文件操作 175

8.4.1 文件的打开与关闭 175

8.4.2 文本文件操作 176

8.4.3 二进制文件操作 178

8.4.4 随机文件操作 179

8.5 流的错误处理 180

8.6 习题8 181

第9章 异常处理 183

9.1 异常处理机制 183

9.1.1 异常处理概述 183

9.1.2 异常处理的实现 184

9.1.3 异常处理的过程 185

9.2 异常处理基本方法 185

9.2.1 异常处理示例 185

9.2.2 捕获所有的异常 186

9.2.3 异常处理中的构造与析构函数 187

9.2.4 异常说明的函数原型 188

9.3 习题9 189

第10章 面向对象程序设计方法 191

10.1 面向对象程序设计过程 191

10.1.1 面向对象的程序 191

10.1.2 面向对象的程序设计步骤 191

10.1.3 构造一个解题模型 192

10.1.4 标识对象 192

10.1.5 标识对象间的关系 193

10.1.6 建立对象的类描述 193

10.1.7 实现各个对象 194

10.2 实例讨论 194

10.2.1 构造一个解题模型 194

10.2.2 标识对象 195

10.2.3 标识对象间的关系 195

10.2.4 建立对象的类描述 196

10.2.5 实现各个对象 199

10.3 习题10 208

第11章 标准建模语言及其应用 209

11.1 标准建模语言概述 209

11.1.1 标准建模语言的发展 209

11.1.2 标准建模语言的主要特点 210

11.1.3 标准建模语言的内容 210

11.1.4 标准建模语言的应用领域 211

11.2 UML的模型、视图与系统架构建模 212

11.2.1 9种图及其功能 212

11.2.2 视图 213

11.2.3 UML中的模型元素 213

11.3 用例建模 215

11.3.1 用例模型 215

11.3.2 角色 216

11.3.3 用例 217

11.4 类和对象建模 219

11.4.1 类和对象 219

11.4.2 关系 220

11.4.3 约束与派生 226

11.4.4 包 227

11.4.5 模板 227

11.5 动态建模 228

11.5.1 消息 228

11.5.2 状态图 229

11.5.3 顺序图 232

11.5.4 合作图 234

11.5.5 活动图 235

11.6 物理体系结构建模 236

11.6.1 逻辑体系结构 236

11.6.2 物理体系结构 236

11.6.3 构件图 237

11.6.4 配置图 238

11.7 使用UML的过程 239

11.7.1 UML过程的基础 239

11.7.2 面向对象方法的一般过程 240

11.7.3 Rational的统一过程 241

11.8 习题11 244

第二部分 实验 249

实验1 面向对象程序设计的基础知识 249

实验2 C++语言初步 254

实验3 类与对象 270

实验4 继承与派生 279

实验5 多态性 286

实验6 模板 295

实验7 输入/输出流 300

实验8 异常处理 310

附录A 习题参考答案 314

参考文献 319