图书介绍

面向对象程序设计 C++语言描述 原书第2版PDF|Epub|txt|kindle电子书版本网盘下载

面向对象程序设计 C++语言描述 原书第2版
  • (美)Richard Johnsonbaugh,(美)Martin Kalin著;蔡宇辉,李军义译 著
  • 出版社: 北京:机械工业出版社
  • ISBN:7111109473
  • 出版时间:2003
  • 标注页数:449页
  • 文件大小:18MB
  • 文件页数:463页
  • 主题词:C++

PDF下载


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

下载说明

面向对象程序设计 C++语言描述 原书第2版PDF格式电子书版下载

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

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

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

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

图书目录

1.1 面向过程的编程风格与面向对象的编程风格1

1.1.1 面向过程的编程风格1

第1章 面向对象编程1

1.1.2 面向对象的编程风格2

1.1.3 关系3

1.1.4 课后练习3

1.2 类与抽象数据类型3

1.2.1 信息隐藏3

1.2.2 封装4

1.2.3 抽象数据类型4

1.3 客户/服务器模式与消息传递5

1 2.4 课后练习5

1.3.1 客户/服务器模式6

1.3.2 消息传递与方法调用6

1.3.3 课后练习8

1.4 继承与多态8

1.4.1 继承8

1.4.2 多态9

1.4.3 多态与递归9

1.4.4 课后练习11

1.5 接口与组件11

1.5.1 接口11

1.5.2 组件12

1.5.3 课后练习13

第2章 从C到C++14

2.1 名字空间14

2.1.1 课后练习17

2.2 C++输入/输出简介18

2.2.1 操纵符20

2.2.2 混合使用C和C++的输入/输出23

2.2.3 课后练习24

2.3 文件24

2.4 若干重要的C++特性26

2.4.1 强制类型转换26

2.3.2 课后练习26

2.3.1 测试文件的打开状态26

2.4.2 常数28

2.4.3 数据类型bool28

2.4.4 枚举类型28

2.4.5 定义变量29

2.4.6 结构30

2.4.7 课后练习31

2.5 string类型31

2.5.1 定义string类型的变量31

2.5.2 转换为C风格的字符串31

2.5.4 读写string32

2.5.3 字符串长度32

2.5.5 赋值33

2.5.6 字符串的连接34

2.5.7 修改字符串34

2.5.8 提取子串36

2.5.9 查找36

2.5.10 字符串比较37

2.5.11 课后练习38

2.6 函数40

2.6.1 函数原型40

2.6.3 引用41

2.6.2 main函数41

2.6.4 引用调用42

2.6.5 引用返回43

2.6.6 内联函数44

2.6.7 数默认参数45

2.6.8 函数重载46

2.6.9 函数签名47

2.6.10 课后练习48

2.7 new和delete操作符51

2.7.1 课后练习53

2.8 例外处理53

2.8.1 课后练习56

2.9.3 无名联合57

2.9.2 无名名字空间57

2.9 补充材料57

2.9.1 C++关键字57

2.9.4 成员选择符58

2.10 常见编程错误61

2.11 编程习题69

第3章 类72

3.1 类和对象72

3.1.1 类声明72

3.1.2 C++的信息隐藏机制73

3.1.3 成员选择符74

3.1.5 关键字class和struct的区别75

3.1.4 类范围75

3.1.6 类成员函数的定义76

3.1.7 在程序中使用类78

3.1.8 课后练习78

3.2 示例程序:堆栈类79

3.2.1 问题79

3.2.2 示例程序的输出79

3.2.3 解决方案80

3.2.4 类的实现81

3.3.1 通过引用来传递和返回对象82

3.2.7 课后练习82

3.3 效率和健壮性82

3.2.6 程序设计建议82

3.2.5 代码分析82

3.3.2 const类型参数的对象引用83

3.3.3 const成员函数84

3.3.4 对成员函数进行重载以便处理两种类型的字符串85

3.3.5 课后练习85

3.4 示例程序:时间标记类86

3.4.1 问题86

3.4.2 示例程序的输出86

3.4.4 类的实现88

3.4.3 解决方案88

3.4.5 代码分析89

3 4.6 程序设计建议91

3.4.7 课后练习91

3.5 构造函数与析构函数91

3.5.1 构造函数92

3.5.2 对象数组与默认构造函数93

3.5.3 通过构造函数约束对象的创建94

3.5.4 拷贝构造函数95

3.5.5 定义拷贝构造函数96

3.5.6 禁止通过传值方式传递和返回类对象100

3.5.8 转型构造函数与隐式类型转换101

3.5.7 转型构造函数101

3.5.9 构造函数初始化程序102

3.5.10 构造函数与操作符new和new[]103

3.5.11 析构函数104

3.5.12 课后练习105

3.6 示例程序:Task类108

3.6.1 问题108

3.6.2 示例程序的输出108

3.6.3 解决方案109

3.6.4 类的实现109

3.6.5 代码分析111

3.7.1 类数据成员113

3.6.6 课后练习113

3.7 类数据成员和类成员函数113

3.7.2 类成员函数115

3.7.3 在成员函数内定义static变量116

3.7.4 课后练习117

3.8 指向对象的指针117

3.8.1 常量指针this119

3.8.2 课后练习120

3.9 常见编程错误121

3.10 编程习题126

第4章 继承131

4.1 引言131

4.2 基本概念和语法132

4.1.1 课后练习132

4.2.1 继承机制下的私有成员133

4.2.2 改变访问限制134

4.2.3 名字隐藏135

4.2.4 间接继承136

4.2.5 课后练习137

4.3 示例程序:影片跟踪管理137

4.3.1 问题137

4.3.2 示例程序的输出138

4.3.3 解决方案138

4.3.4 类的实现139

4.3.5 代码分析140

4.3.6 程序设计建议141

4.4 保护成员141

4.4.1 课后练习144

4.5 继承机制下的构造函数与析构函数145

4.5.1 继承机制下的构造函数145

4.5.2 派生类构造函数的规则147

4.5.3 继承机制下的析构函数150

4.5.4 课后练习152

4.6 示例程序:设计序列的类层次结构153

4.6.1 问题153

4.6.2 示例程序的输入与输出154

4.6.4 类的实现157

4.6.3 解决方案157

4.6.5 代码分析159

4.7 多继承161

4.7.1 继承和访问规则162

4.7.2 虚基类163

4.7.3 课后练习164

4.8 补充材料166

4.8.1 保护继承166

4.8.2 私有继承166

4.9 常见编程错误167

4.10 编程习题169

5.1 C++中的运行期绑定与编译期绑定172

第5章 多态172

5.1.1 C++多态的前提条件173

5.1.2 虚成员函数继承176

5.1.3 运行期绑定和虚成员函数表177

5.1.4 构造函数与析构函数177

5.1.5 虚析构函数178

5.1.6 对象成员函数和类成员函数180

5.1.7 课后练习180

5.2 示例程序:改进的影片跟踪管理182

5.2.1 问题182

5.2.2 示例程序的输入/输出182

5.2.4 类的实现184

5.2.3 解决方案184

5.2.5 代码分析187

5.2.6 程序设计建议189

5.2.7 课后练习189

5.3 重载、覆盖和遮蔽189

5.3.1 重载189

5.3.2 覆盖190

5.3.3 遮蔽192

5.3.4 名字共享193

5.3.5 课后练习194

5.4 抽象基类196

5.4.1 抽象基类和纯虚成员函数196

5.4.3 抽象基类的使用198

5.4.2 定义纯虚成员函数的限制198

5.4.4 微软的IUnknown接口199

5.4.5 课后练习199

5.5 运行期类型识别200

5.5.1 dynamic_cast操作符200

5.5.2 dynamic_cast的规则205

5.5.3 dynamic_cast与static_cast小结205

5.5.4 typeid操作符205

5.5.5 扩展RTTI206

5.5.6 课后练习206

5.7 常见编程错误208

5.6 补充材料208

5.6.1 强多态和弱多态208

5.8 编程习题211

第6章 操作符重载215

6.1 基本操作符重载215

6.1.1 操作符的优先级和语法217

6.1.2 课后练习218

6.2.2 示例程序的输出219

6.2.3 解决方案219

6.2.4 类的实现219

6.2.1 问题219

6.2 示例程序:复数类219

6.2.5 代码分析221

6.2.6 课后练习222

6.3 用顶层函数进行操作符重载223

6.3.1 课后练习226

6.4 friend函数227

6.4.1 课后练习228

6.5 输入与输出操作符的重载229

6.5.1 课后练习230

6.6 赋值操作符的重载231

6.6.1 课后练习233

6.7.1 下标操作符的重载234

6.7 特殊操作符的重载234

6.7.2 函数调用操作符的重载237

6.7.3 自增与自减操作符的重载239

6.7.4 转型操作符241

6.7.5 课后练习243

6.8 示例程序:关联式数组244

6.8.1 问题244

6.8.2 示例程序的输入与输出244

6.8.3 解决方案245

6.8.4 类的实现246

6.8.5 代码分析247

6.9 内存管理操作符248

6.8.6 课后练习248

6.9.1 课后练习251

6.10 补充材料252

6.10.1 friend类252

6.11 常见编程错误252

6.12 编程习题255

第7章 模板与标准模板库257

7.1 模板的基本知识257

7.1.1 模板实例260

7.1.2 参数表中的模板类261

7.1.3 模板的函数式参数262

7.1.4 课后练习264

7.2 示例程序:模板堆栈类265

7.2.1 问题265

7.2.2 示例程序的输出265

7.2.3 解决方案265

7.2.4 类的实现266

7.2.5 代码分析268

7.2.6 程序设计建议269

7.2.7 断言270

7.3.2 STL的优越性271

7.3.1 容器、算法和迭代器271

7.3 标准模板库STL271

7.2.8 课后练习271

7.3.3 容器基础知识273

7.3.4 基本序列式容器:vector、deque和list273

7.3.5 vector、deque和list的效率比较276

7.3.6 基本的关联式容器:set、multiset、map和multimap276

7.3.7 容器适配器278

7.3.8 其他容器281

7.3.9 STL算法284

7.3.10 其他STL构件288

7.3.11 课后练习289

7.4.1 问题290

7.4.2 示例程序的输入与输出290

7.4 示例程序:证券业绩报表290

7.4.3 解决方案293

7.4.4 类的实现293

7.4.5 代码分析296

7.5 附加材料298

7.5.1 模板类与继承298

7.6 常见编程错误299

7.7 编程习题300

8.1 概况304

8.1.1 输入输出库中的流类层次304

第8章 C++输入输出类层次304

8.1.2 输入输出库中的缓冲类层次305

8.1.3 缓冲类层次与流类层次的关系306

8.1.4 模板的使用307

8.1.5 课后练习307

8.2 ios_base和basic_ios类308

8.2.1 ios_base308

8.2.2 basic_ios312

8.2.3 例外处理313

8.2.4 课后练习314

8.3 高层输入输出类315

8.3.1 basic_istream315

8.3.2 basic_ostream319

8.3.4 课后练习321

8.3.3 basic_iostream321

8.4 操纵器322

8.4.1 设计不带参数的操纵器322

8.4.2 设计带参数的操纵器324

8.4.3 课后练习325

8.5 文件输入输出类325

8.5.1 basic ofstream325

8.5 2 basic_ifstream327

8.5 3 basic fstream328

8.6.1 问题329

8.6.2 示例程序的输入与输出329

8.6 示例程序:随机存取文件类329

8.5.4 课后练习329

8.6.3 解决方案330

8.6.4 类的实现332

8.6.5 代码分析339

8.7 字符流输入/输出类344

8.7.1 basic ostringstream344

8.7.2 basic istringstream345

8.7.3 basic stringstream346

8.8.3 类的实现347

8.8.2 解决方案347

8.8.1 问题347

8.8 示例程序:高层拷贝函数347

8.7.4 课后练习347

8.8.4 代码分析348

8.8.5 课后练习349

8.9 缓冲区类349

8.9.1 basic streambuf349

8.9.2 basic filebuf350

8.9.3 basic stringbuf355

8.9.4 课后练习356

8.10 补充材料356

8.11 常见编程错误357

8.12 编程习题358

第9章 MFC中的面向对象编程360

9.1 用MFC进行Windows程序设计360

9.1.1 MFC编程的代码生成器361

9.1.2 课后练习362

9.2 MFC中的文档/视图结构362

9.2.1 文档序列化365

9.2.2 课后练习366

9.3 示例程序:文档序列化366

9.3.1 问题366

9.3.2 示例程序的输出366

9.3.4 类的实现367

9.3.3 解决方案367

9.3.5 代码分析375

9.3.6 课后练习378

9.4 COM378

9.4.1 可更改的服务器和不可变更的接口379

9.4.2 COM接口的层次380

9.4.3 IDispatch接口380

9.4.4 COM程序的类型381

9.4.5 VC++对COM的支持381

9.4.6 COM和OLE382

9.4.7 课后练习382

9.5.2 示例程序的输出383

9.5.3 解决方案383

9.5 示例程序:自动化服务器与控制器383

9.5.1 问题383

9.5.4 类的实现384

9.5.5 代码分析391

9.5.6 引用计数问题393

9.5.7 课后练习393

9.6 补充材料394

9.7 编程习题394

附录A ASCⅡ表396

附录B 用到的C++函数和成员函数399

附录C 奇数编号练习的提示及答案428

热门推荐