图书介绍

面向对象程序设计基础 第2版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

面向对象程序设计基础 第2版
  • 李师贤等编著 著
  • 出版社: 北京:高等教育出版社
  • ISBN:704016650X
  • 出版时间:2005
  • 标注页数:489页
  • 文件大小:9MB
  • 文件页数:503页
  • 主题词:面向对象语言-程序设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

面向对象程序设计基础 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 计算机程序1

1.1.1 算法1

1.1.2 实体1

第一章 程序设计与C++语言初步1

1.1.3 程序3

1.1.4 程序设计5

1.2 程序设计的演变6

1.2.1 早期程序设计6

1.2.2 结构化程序设计6

1.2.3 面向对象程序设计7

1.3.2 字符集8

1.3 程序设计语言的定义8

1.3.1 语法和语义8

1.3.3 Backus-Naur范式9

1.3.4 语法图11

1.4 C++语言的程序结构12

1.4.1 C++语言程序的组成12

1.4.2 C++语言程序的基本结构12

1.4.3 C++语言程序的退化结构14

1.5 C++语言程序的运行15

1.6 面向对象程序设计16

1.6.1 面向对象程序设计过程16

1.6.2 面向对象程序设计的特征17

本章小结19

练习与思考题19

上机实习题20

第二章 基本数据类型22

2.1 数据类型概述22

2.1.1 类型22

2.1.2 类型的作用22

2.1.3 C++语言的类型23

2.2 保留字、标识符、常量与变量24

2.2.1 单词24

2.2.3 标识符25

2.2.2 保留字25

2.2.4 选择合适的标识符26

2.2.5 常量与变量27

2.2.6 简单输入/输出28

2.3 基本数据类型29

2.3.1 字符类型31

2.3.2 整数类型33

2.3.3 浮点类型和双精度类型34

2.3.4 字符串常量35

2.3.5 符号常量36

2.4 运算符与表达式38

2.4.1 表达式38

2.4.2 表达式的运算次序39

2.4.3 C++的运算符40

2.4.4 算术运算42

2.4.5 关系运算43

2.4.6 逻辑运算44

2.4.7 位运算44

2.4.8 条件运算47

2.4.9 sizeof运算47

2.4.10 赋值运算48

2.4.11 逗号运算49

2.4.12 表达式与运算符的应用举例49

2.5.1 隐式类型转换50

2.5 类型之间的关系50

2.5.2 强制类型转换52

2.6 一个简单的应用程序52

本章小结54

练习与思考题54

上机实习题55

第三章 基本控制结构56

3.1 程序的基本控制结构56

3.1.1 C++语言的简单语句56

3.1.2 单入口/单出口控制结构57

3.1.3 结构化程序设计工具57

3.2.1 if语句60

3.2 选择结构60

3.2.2 switch语句67

3.3 循环结构73

3.3.1 while语句73

3.3.2 do_while语句77

3.3.3 for语句79

3.3.4 一个简单的循环例子83

3.3.5 设计正确的循环85

3.4 简单程序设计举例86

3.4.1 问题86

3.4.2 求解问题的精美算法87

3.4.3 求解问题的原始算法88

本章小结89

练习与思考题89

上机实习题91

第四章 函数92

4.1 C++语言的函数92

4.1.1 例程与函数92

4.1.2 函数的建立与使用93

4.1.3 两个简单的例子94

4.2 函数的声明与调用97

4.2.1 函数声明97

4.2.2 return语句98

4.2.3 函数调用99

4.2.4 函数与模块102

4.2.5 内联函数104

4.3 参数传递107

4.3.1 参数传递方式107

4.3.2 按值调用107

4.3.3 缺省参数109

4.4 作用域与生存期110

4.4.1 标识符的作用域110

4.4.3 变量的生存期112

4.5 局部变量与全局变量112

4.4.2 C++程序的存储组织112

4.5.1 局部变量113

4.5.2 全局变量114

4.5.3 局部变量与全局变量的讨论115

4.6 变量的存储类别118

4.6.1 自动变量和寄存器变量118

4.6.2 静态变量119

4.6.3 外部变量120

4.7 递归程序设计120

4.7.1 简单递归程序121

4.7.2 梵塔问题123

4.8 预处理命令125

4.8.1 文件包含126

4.8.2 宏定义127

4.8.3 条件编译128

4.9 C++语言的库函数129

4.9.1 库函数的用法129

4.9.2 常用数值函数129

4.9.3 常用字符函数130

本章小结131

练习与思考题132

上机实习题136

5.1.1 循环计数器137

5.1 类的引入137

第五章 类与对象137

5.1.2 关于循环计数器的讨论141

5.1.3 类作为构造程序的基本单位142

5.2 类的定义143

5.2.1 类声明143

5.2.2 类成员的访问控制145

5.2.3 类界面与类实现146

5.2.4 标识符的类作用域149

5.3 对象的创建150

5.3.1 对象声明150

5.3.2 使用对象成员151

5.4 对象的初始化153

5.3.3 对象的生存期153

5.4.1 构造函数154

5.4.2 析构函数158

5.4.3 对象成员的初始化160

5.5 使用类与对象构造程序的实例163

5.5.1 模拟数字式时钟163

5.5.2 模拟加油站油泵的对象工作166

5.5.3 单实例对象类168

5.6.1 基本数据类型与对象170

5.6.2 抽象数据类型170

5.6 关于类与对象的进一步讨论170

5.6.3 设计良好的类界面171

5.6.4 再论对象172

5.6.5 下一步172

本章小结173

练习与思考题174

上机实习题180

第六章 复合数据类型181

6.1 变量与赋值的进一步讨论181

6.2 指针类型182

6.2.1 指针的声明183

6.2.2 指针的引用184

6.2.4 按引用调用的参数传递方式186

6.2.3 指针的运算186

6.3 数组类型188

6.3.1 一维数组的声明188

6.3.2 一维数组元素的引用与初始化190

6.3.3 数组作为函数的参数192

6.3.4 一维数组应用举例192

6.3.5 二维数组的声明194

6.3.6 二维数组元素的引用与初始化195

6.3.7 二维数组应用举例196

6.3.8 指针与数组198

6.4 字符串200

6.3.9 指针数组与数组指针200

6.4.1 字符串常量与变量201

6.4.2 字符串数组202

6.4.3 关于字符串操作的库函数203

6.4.4 字符串与指针数组应用的例子(主函数带参数)205

6.5 指向对象的指针208

6.5.1 对象指针209

6.5.2 对象的动态创建与撤销210

6.5.3 对象的复制与比较212

6.6 指向函数的指针214

6.6.1 函数指针214

6.6.2 函数指针作为参数218

6.7.1 结构类型219

6.6.3 主动对象219

6.7 结构类型、枚举类型与类型别名219

6.7.2 枚举类型221

6.7.3 类型别名222

6.8 高级数据结构应用223

本章小结228

练习与思考题229

上机实习题235

第七章 继承机制236

7.1 继承的基本概念236

7.1.1 IS-A关系236

7.1.2 继承机制237

7.1.3 继承的作用238

7.1.4 继承与软件重用239

7.1.5 C++继承常见的几种形式239

7.2 C++语言的继承机制240

7.2.1 继承的语法240

7.2.2 继承成员的访问控制规则243

7.2.3 一个应用继承机制的完整例子245

7.2.4 派生类对象的存储组织251

7.2.5 类型兼容性252

7.3 继承与构造函数、析构函数254

7.3.1 构造函数与析构函数的调用次序254

7.3.2 向基类构造函数传递实际参数256

7.4 继承成员的调整257

7.4.1 恢复访问控制方式257

7.4.2 继承成员的重定义259

7.4.3 继承成员的重命名261

7.4.4 屏蔽继承成员261

7.5 多重继承263

7.5.1 多重继承的应用背景263

7.5.2 多重继承的语法形式264

7.5.3 多重继承的名字冲突问题265

7.5.4 多重继承的构造函数和析构函数268

7.6.1 重复继承的应用背景270

7.6 重复继承270

7.6.2 重复继承的二义性问题272

7.6.3 虚基类274

7.6.4 虚基类的构造函数和析构函数275

7.7 优化类层次设计278

7.7.1 抽象与具体279

7.7.2 封装与开放279

7.7.3 使用继承与使用对象成员280

7.7.4 典型类层次280

7.7.5 其他技术281

本章小结281

练习与思考题282

上机实习题288

第八章 多态性290

8.1 多态性的基本概念290

8.1.1 程序的多态性290

8.1.2 多态性的作用——表示独立性291

8.2 函数重载292

8.2.1 函数重载的方法292

8.2.2 函数重载的注意事项294

8.2.3 函数重载的二义性296

8.2.4 构造函数重载298

8.3.1 函数按值调用传递对象参数产生的问题300

8.3 拷贝构造函数300

8.3.2 对象作为函数返回值产生的问题302

8.3.3 问题的解决——拷贝构造函数304

8.4 运算符重载306

8.4.1 运算符函数306

8.4.2 类成员运算符重载306

8.4.3 重载一元运算符“-”310

8.4.4 重载赋值运算符“=”311

8.4.5 重载下标运算符“[]”311

8.4.6 友元312

8.4.7 友元运算符重载313

8.5.1 什么是虚函数316

8.5 虚函数316

8.4.8 运算符重载的其他规则316

8.5.2 静态绑定与动态绑定319

8.5.3 设计合适的绑定方式320

8.6 抽象类320

8.6.1 纯虚函数320

8.6.2 抽象类324

8.6.3 纯虚函数与抽象类的应用——多态数据结构324

本章小结336

练习与思考题336

上机实习题344

9.1.1 类型的严格性与灵活性345

9.1.2 解决冲突的途径345

9.1 类属的基本概念345

第九章 类属机制345

9.1.3 类属机制346

9.2 类模板346

9.2.1 类属类的定义347

9.2.2 类属类的实例化351

9.2.3 多个形式类属参数353

9.2.4 类属类的继承关系354

9.3 函数模板362

9.3.1 类属函数362

9.3.3 类属函数的实例化363

9.3.2 类属函数的定义363

9.3.4 类属函数的重载364

本章小结366

练习与思考题366

上机实习题368

第十章 输入/输出流369

10.1 C++语言的输入/输出369

10.1.1 外部设备与文件369

10.1.2 程序中对文件的操作370

10.1.3 文件的基本概念370

10.2.1 流类库的基本结构371

10.2 C++的流类库371

10.2.2 预定义的流372

10.2.3 支持文件的流类372

10.2.4 支持字符串的流类373

10.3 格式化输入/输出374

10.3.1 使用ios成员函数374

10.3.2 使用输入/输出操纵符378

10.3.3 格式化输出到字符串380

10.4 常用成员函数输入/输出381

10.4.1 put成员函数382

10.4.2 write成员函数382

10.4.3 read和gcount成员函数382

10.4.4 get成员函数383

10.4.5 getline成员函数386

10.4.6 peek、putback和ignore成员函数387

10.5 设计自己的输入/输出操作388

10.5.1 重载流的插入操作388

10.5.2 重载流的提取操作389

10.5.3 一个完整的实例390

10.5.4 设计自己的输入/输出操纵符394

10.6 检测流操作的错误396

10.7 文件流396

10.7.1 文件的打开与关闭397

10.7.2 文本文件的操作398

10.7.3 二进制文件的操作400

10.7.4 文件的随机读/写402

10.7.5 程序的打印输出404

本章小结405

练习与思考题405

上机实习题406

第十一章 面向对象软件构造408

11.1 软件质量408

11.2 程序断言机制408

11.2.1 程序断言408

11.2.2 程序断言的用法410

11.2.3 在C++语言中实现部分断言412

11.3.1 异常处理413

11.3 异常处理机制413

11.3.2 异常处理的模式414

11.3.3 C++语言的异常处理机制415

11.3.4 捕获所有类型的异常417

11.3.5 带有异常说明的函数原型418

11.3.6 异常的逐层传递420

11.3.7 创建对象时的异常处理421

11.4.1 可重用构件库开发规范422

11.4.2 基本术语定义422

11.4 可重用构件库422

11.4.3 构件库组织形式与使用方法423

11.4.4 构件库设计风格425

11.4.5 构件库设计原则431

11.4.6 构件库文档编制指南432

11.5 面向对象软件构造433

11.5.1 标识对象与行为434

11.5.2 标识对象之间的关系435

11.5.3 建立对象的类描述435

11.5.4 创建并驱动对象的运行435

11.6 实例研究:Petri网图形编辑器435

11.6.1 问题定义435

11.6.2 对象之间关系与类的设计436

11.6.3 关于Petri网图形编辑器的讨论466

本章小结467

练习与思考题467

上机实习题469

第十二章 结束语471

12.1 程序设计风范471

12.1.1 过程程序设计471

12.1.2 模块程序设计471

12.1.3 类型程序设计473

12.1.4 面向对象程序设计475

12.2 面向对象程序设计语言476

12.1.5 其他程序设计风范476

12.2.1 Simula语言477

12.2.2 Smalltalk语言477

12.2.3 C++语言478

12.2.4 Eiffel语言478

12.2.5 Java语言479

本章小结481

练习与思考题481

上机实习题481

附录A ASCII编码表482

附录B 主要术语索引484

附录C 主要参考文献489

热门推荐