《C++编程你也行》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)格拉斯保罗(Glassborow,F.)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2007
  • ISBN:7111211960
  • 页数:317 页
图书介绍:本书是一本优秀的C++教程。

第1章 起步走 1

1.1 创建“Hello World”程序 1

1.2 代码的含义 5

1.3 第二个程序:空Playpen 6

1.4 代码的含义 9

1.5 其他尝试 10

1.6 总结 10

第2章 基础类型、操作符和简单变量 11

2.1 一个简单的程序 11

2.2 什么是类型 12

2.3 何谓基础类型 14

2.4 负整数的表示 14

2.5 派生类型 15

2.6 声明和定义 16

2.7 C++中的名字 17

2.8 操作符 18

2.9 一个简单的程序 18

2.10 异常——处理无效的输入 20

2.11 编写正确的代码 21

2.12 在处理异常前获得输出 21

2.13 再谈一点Playpen 22

2.14 默认的Playpen颜色名字 25

2.15 字符和文本 25

2.16 浮点数 27

2.17 第一个浮点程序 28

2.18 参考 30

第3章 循环和决策 40

3.1 一些库类型 40

3.2 决策 42

3.3 循环 47

3.4 关于魔数 55

3.5 参考 57

第4章 命名空间和C++标准库 60

4.1 宽字符集支持vs.窄字符集支持 60

4.2 命名空间 60

4.3 从std::cin输入 65

4.4 用std::cout输出 67

4.5 标准控制台输出对象 67

4.6 Playpen绘图模式 68

4.7 进一步的实践 69

4.8 参考 69

第5章 用C++编写函数 73

5.1 C++函数的概念 73

5.2 按其他顺序排列 74

5.3 设计函数 75

5.4 C++过程 80

5.5 纯函数 80

5.6 重载函数 81

5.7 重置istream和ostream对象 84

5.8 匿名参数 91

5.9 分别编译和头文件 92

5.10 参考 94

第6章 行为、序列点和求值顺序 97

6.1 行为的类型 97

6.2 序列点 101

6.3 求值顺序 103

6.4 方针 104

第7章 泛型函数 106

7.1 哪个值较大 106

7.2 获取最大值 108

7.3 使用typedef获取最大值 108

7.4 使用模板获取最大值 110

7.5 二义性 112

7.6 函数模板特化 114

7.7 特化max() 115

7.8 重载函数模板 116

7.9 C++迭代器 118

7.10 使用了迭代器的max(std::vector)版本 119

7.11 fgw::read函数模板 120

7.12 参考 124

第8章 用户自定义类型,第1部分:typedef和enum 127

8.1 typedef:旧类型的新名字 127

8.2 阅读声明 129

8.3 enum 131

8.4 操作符重载 134

8.5 参考 139

第9章 用户自定义类型,第2部分:简单类(值类型) 141

9.1 ISBN作为一个class类型 142

9.2 测试代码 146

9.3 重载操作符 147

9.4 扑克牌的值类型 148

9.5 public vs.private 149

9.6 特殊成员函数:构造函数 150

9.7 特殊成员函数:析构函数 151

9.8 特殊成员函数:复制赋值operator= 151

9.9 普通成员函数 151

9.10 实现构造函数 152

9.11 实现析构函数 153

9.12 实现复制赋值operator= 153

9.13 实现成员函数 154

9.14 分别编译 154

9.15 发展card_value类型 158

9.16 改变实现 160

9.17 指针和数组 162

9.18 巩固——点类 165

9.19 在类定义中定义成员函数 167

9.20 参考 167

第10章 用户自定义类型,第3部分:简单类(同质实体类型) 172

10.1 值类型和实体类型的例子 172

10.2 一个简单的扑克牌实体 173

10.3 另一个实体类型:一副牌 175

10.4 deck的输出 178

10.5 从文件创建deck实例 180

10.6 参考 183

第11章 指针、智能指针、迭代器和动态实例 184

11.1 原始指针 184

11.2 危险的特殊情况 186

11.3 数组 187

11.4 数组和指针 188

11.5 动态实例 190

11.6 智能指针 195

11.7 迭代器 197

11.8 参考 198

第12章 用户自定义类型,第4部分:类层次结构、多态、继承和子类型 201

12.1 国际象棋棋子的接口 202

12.2 实现basic_chesspiece 204

12.3 实现马(knight) 208

12.4 获得多态行为 211

12.5 获得身份 212

12.6 移除刺激物 212

12.7 移动至被占据的方格 213

12.8 另一个棋子 213

12.9 参考 216

第13章 动态对象创建和多态对象 218

13.1 在运行期选择子类型 218

13.2 匿名命名空间 219

13.3 一个棋子类型 222

13.4 实现chesspiece 224

13.5 定义和实现子类型 226

13.6 构造特定的棋子 229

13.7 chesspiece构造函数和transform() 229

13.8 实现chesspiece的其余部分 230

13.9 对象的集合 233

13.10 chessboard类型的设计和实现 233

13.11 参考 234

第14章 流、文件和持久性 236

14.1 C++流层次结构 236

14.2 追加数据 239

14.3 巩固 240

14.4 字符串流 240

14.5 将数字值转换为字符串 241

14.6 持久性 243

14.7 将文本转换为枚举成员 244

14.8 参考 246

第15章 异常 249

15.1 什么是异常 249

15.2 可抛出的异常类型 251

15.3 异常安全的复制赋值惯用法 256

15.4 重新抛出异常 257

15.5 异常规范:失败的思想 258

15.6 异常与析构函数 258

15.7 参考 258

第16章 重载操作符和转换操作符 260

16.1 为算术类型重载操作符 260

16.2 转换操作符 264

16.3 函数对象 266

16.4 结论 268

16.5 参考 269

第17章 容器、迭代器和算法 270

17.1 使用Set 271

17.2 使用数值算法 276

17.3 使用Multimap 278

17.4 预载容器 280

17.5 结论 281

17.6 参考 281

第18章 温故知新 284

18.1 代码布局和一致性 284

18.2 const放在哪里 285

18.3 函数风格初始化vs.赋值风格初始化 286

18.4 使用using 289

18.5 关闭多态 290

18.6 操作符的替代拼写法 290

18.7 匈牙利命名法 291

18.8 常量的名字 291

18.9 注释 291

18.10 结构中的多出口 292

18.11 重构和对象的威力 293

18.12 使用遗留库 297

18.13 最后的话 299

附录A 前言往行 300

参考文献 317