C++编程你也行

C++编程你也行
作 者: Francis Glassborow 荣耀;施康
出版社: 机械工业出版社
丛编项: C++设计新思维
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  本书提供作译者介绍Francis Glassborow,曾任ACCU(Association of C&C++ Users)的主席,编辑了该团体20世纪90年代的主要出版物。他对市场上数百本C++书籍发表过评论,但他的智慧和兴趣不仅仅局限于这门语言。他还是.EXE的定期专栏作家,并且是著名的ACCU大会最初七年的主席。他领导着C和C++方面ISO工作组委员会的英国代表团。他是公认的C和C++领域世界级的领军人物之一。.荣耀,南京师范大学教师,南京航空航天大学计算机应用技术博士(在读),C++模板技术和微软.NET技术研究者和教育者,他的著译作...

内容简介

本书是一本优秀的C++教材,内容包括:基础类型、操作符和简单变量,循环和决策,命名空间和C++标准库,用C++编写函数,行为、序列点和求值顺序,泛型函数,用户自定义类型、指针、智能指针、迭代器和动态实例,动态对象创建和多态对象,流、文件和持久性,异常,重载操作符和转换操作符,容器、迭代器和算法等。作者重点介绍类、模板、操作符重载、异常、命名空间等从事现代C++编程不可或缺的语言特性,以及容器、算法、迭代器等重要的标准库组件。本书通过例子代码和“代码详解”,将C++的精华展示给读者。.本书可供完全不同的读者群体使用。无论你是否有编程基础,都可以从本书中受益。学习C++的过程可能很枯燥。为了使学习过程生动有趣,Francis Glassborow以其独树一帜的激励风格讲解编程任务和工具,使你得以迅速开始编程。他的教学方式鼓舞人心,并提供了亲手打造的例子和项目。图形用户界面(GUI)扩展可为你提供即时反馈,你可从创建GUI程序中获得更多的乐趣。每一章末尾的参考素材则为你提供进一步的帮助。..本书带有一款完全可移植的开源编译器,以及针对Windows和Linux的IDE。书中广泛地使用了作者的图形库,为你带来丰富的辅助素材,以便迅速有效地处理编程任务。如果你已经通过自学掌握了编程基础,或在工作中学会了基本的编程技能,那么本书非读不可!它将把你的编程水平推向更高的层次。在学习过程中你一定会获得许多乐趣!...

图书目录

第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