《C++编程指南 续篇》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)(S.R.戴维斯)Stephen R. Davis著;卢凌云等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:1997
  • ISBN:7505335715
  • 页数:390 页
图书介绍:

第一部分 精通I/O流 5

第一章 I/O流初步 7

流运算符 7

缺省的I/O对象 9

Windows中的缺省I/O对象 10

流怎样工作? 10

为什么要建立流? 12

发现错误 13

可扩充性 15

结束语 16

第二章 自定义插入运算 17

一个插入运算的例子 17

C的解决方案 18

Student类的封装 19

C+++的解决方案 20

一些值得注意的细节 24

什么是ostream,为什么要返回它? 25

还有其他重载operator<<++的方法吗? 26

作为成员函数 26

作为简单的非成员函数 27

相比较而言,哪种方法更好? 29

多态输出 29

结束语 34

第三章 文件流 35

使用流的文件I/O 35

文件的输出 35

文件输入 38

分支流 39

流的其他构造函数 42

完整的构造函数 42

文件句柄构造函数 43

缺省的构造函数 44

其他成员函数 45

get++函数 46

getline++函数 47

read++函数 48

put++函数 49

write++函数 49

结束语 49

第四章 编写你自己的流析取运算符 51

创建模型Student 51

显示的格式并不是便于存储的格式 56

加强对数据的错误检查 61

结束语 64

第五章 流的内部机制 65

这是什么状态? 65

错误标志 66

一个简单实例 68

一个改进后的版本 69

改变错误标志 73

从错误中恢复 78

附加支持类 79

什么是ios? 80

什么是streambuf? 80

把一个流系到另一个流上 81

为什么叫做streambuf? 81

结束语 82

第六章 流输出控制 83

用成员函数控制流输出格式 83

格式函数 84

让我们看一个例子 85

流的格式标志 86

其他标志控制函数 92

改写Student类 92

操纵算子 97

结束语 101

第七章 关于流的其他问题 103

内存中I/O 103

输出流 104

输入流 106

这样做有价值吗? 107

让类完成这个工作 113

怎样系和解系流 124

怎样系两个流对象 125

缓冲与标准I/O 126

建立自己的流类 127

彻底避免问题 127

重载流类 128

多态流类 129

结束语 133

第二部分 新增和改进的特征 135

C字符串 137

第八章 用string进行编码 137

NTBS函数带来的问题 138

NTBS的优点 141

string类 142

如何解决问题呢? 145

继续讨论类strng 146

输入/输出函数 146

操纵一个strng的内部 147

把一个strng转换成一个NTBS 149

使用了strng的一个程序例子 154

结束语:尽量使用string 159

第九章 常量扩展 161

替换预定义#define 161

#define的缺陷 163

const有什么限制吗? 165

外部常量 168

使用const对象 168

把const对象传递给函数 170

把const对象传递给成员函数 171

如果两者我都需要那又怎么办呢? 173

为什么要这样麻烦呢? 174

结束语 175

第十章 异常 177

错误处理 177

这样有什么问题? 178

累积一个错误状态:iostream流解决方法 181

C异常 182

C+++异常 184

异常的限制 188

抛出异常 189

Catch代码怎样知道如何做呢? 192

给类Student加上异常 194

结束语 196

第十一章 深入探讨异常 197

异常类 197

建立XError异常类 197

当XError还不够时该做什么? 199

C+++标准异常类的层次结构 202

异常并不总是致命的 203

避免需要过多的异常类 205

重抛出有其他用处吗? 209

回到Student例子上 211

异常的进一步考虑 222

结束语 223

第十二章 模板 225

模板函数 226

C没有提供这个功能吗? 227

模板的使用 228

混合模板 229

用类来实例化模板 230

模板类 231

一个可选择的方法 231

建立模板类Vector 234

成员函数怎么样? 235

模板和效率 236

更灵活的Vector 237

实例类的需求 241

结束语 242

第十三章 包容器 243

链表 243

一个简单的解决办法 244

更好的解决办法 246

Student链表 248

双向链表的问题 252

链表模板类 253

DLL溶合 259

休息 260

用一个迭代器的一个非侵入性解决办法 264

结束语 273

第十四章 进一步讨论包容器 275

包容器作为类的一个成员 275

商用包容器 278

Borland的模板类 278

标准C+++模板库 282

其他模板库 282

结束语 282

“是一个”对比“真的是一个” 283

第十五章 实时类型标识 283

怎样避免这个问题呢? 288

什么时候你不可能避免这个问题? 289

实时类型化 289

强制转换常量 291

结束语 292

第三部分 工资单问题 295

第十六章 分析与设计 297

问题描述 298

找出类 298

分组类 299

画出组间关系 301

加成员函数 304

结束语 307

第十七章 代码质量 309

改正问题的代价 309

编码风格 310

类模块 312

内聚 312

类间耦合 313

类的复杂度 313

City-State程序设计方法 313

为什么? 314

怎样做? 314

什么时候调用isLegal++是合法的? 316

结束语 317

第十八章 实现工资程序 319

工资单程序 319

Employee 320

Deduction 329

IncomeTax 332

Bank 337

异常 340

主程序 341

调试错误 344

查找实例错误 345

结束语 348

第四部分 捷径和提示汇总 349

第十九章 有关程序结构的提示 351

把问题弄清楚后再开始工作 351

对问题意见要一致 352

在具体实现前先设计好解法 352

不要害怕试验 352

寻找共性 353

提取类的公因子 353

第二十章 有关类结构的提示 355

让你的类代表某些事物 355

让你的类代表一件事 355

不要暴露数据成员 356

守好大门 356

为类写简介 356

限制友元的个数 357

保持接口简单 358

保持成员函数简单 358

第二十一章 调试捷径 359

根据类的接口调试每个类 359

保持和重用现有的类 359

包含广范的调试代码 360

固定使用一种编码风格 360

至少单步执行代码一次 360

获得帮助 360

第五部分 附录 361