好学的C++(第2版)

好学的C++(第2版)
作 者: Brian Overland 杨晓云 王建桥 杨涛
出版社: 人民邮电出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: VC++
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  BrianOverland具有丰富的编程和教学经验。在微软工作的10年间,他既是项目负责人,又写过C++程序和文档。这一独特的背景造就了其语言生动、用词精确的写作风格,深知如何用浅显和清晰的方式讲授抽象的知识和特性。他出版了6本编程类图书,其中包括C++in Plain English, Third Edition。

内容简介

程序设计是一项复杂的任务,C++语言可以供专家使用。许多优秀的游戏、图形和Internet应用都是用C++编写的。这些事实让人产生错觉:没有基础的人很难掌握C++。本书作者要告诉你:C++并不可怕!他将带领你轻松地学习C++,体会编程的乐趣,迅速进入C++的世界。作者非常了解初学者的问题和困惑,以通俗易懂的语言、丰富的范例、清楚的解释,大量的练习,全方位地讨论了C++的关键主题,涵盖的内容从一般的编程概念和技术到C++的具体语言特性。通过本书的学习,读者可迅速掌握C++编程。这一版还在前一版的基础上,增加了大量示例和有关C++0x规范方面的内容,是新手学习C++的最佳入门。本书共18章9个附录,面向完全没有开发经验的读者,讲授清晰、扎实的编程基础与C++特性。

图书目录

第1 章 第一个C++程序  1

1.1 像程序员那样思考  1

1.2 C++有什么与众不同之处  5

1.3 建立C++程序  6

1.4 安装C++编译器  8

1.5 前进到下一行  13

1.6 保存数据:C++变量  15

1.7 数据类型简介  16

1.8 变量名和关键字  23

1.9 小结  24

第2 章 判断,再判断  26

2.1 数据类型  26

2.2 程序中的判断  27

2.3 循环语句  34

2.4 C++中的真与假  39

2.5 递增操作符  40

2.6 语句与表达式  41

2.7 布尔(短路)逻辑  42

2.8 math 库简介  45

2.9 小结  50

第3 章 一专多能的for 语句  52

3.1 用于计数的循环  52

3.2 for 循环简介  53

3.3 for 语句用法示例  54

3.4 for 语句的复合语句语法  57

3.5 临时声明循环变量  58

3.6 它山之石:Basic 语言中的for 语句  62

3.7 小结  63

第4 章 函数——分工与合作  64

4.1 函数的概念  64

4.2 函数的基本使用套路  65

4.3 局部变量和全局变量  72

4.4 递归函数  74

4.5 游戏,更多的游戏  88

4.6 小结  90

第5 章 数组——都给我排好队  92

5.1 初识C++数组  92

5.2 数组初始化  93

5.3 从零开始的下标  94

5.4 字符串和字符串数组  101

5.5 经验之谈  111

5.6 二维数组——矩阵  112

5.7 小结  113

第6 章 指针——我知道数据在哪里  114

6.1 指针到底是什么  114

6.2 指针的概念  114

6.3 声明和使用指针  116

6.4 swap——另一个使用指针的函数  122

6.5 指针运算  127

6.6 指针与数组处理  129

6.7 小结  132

第7 章 字符串——分析文本  134

7.1 字符串的存储方式  134

7.2 字符串的声明和初始化  136

7.3 字符串处理函数  137

7.4 读取字符串输入  141

7.5 单个字符与字符串  147

7.6 C++中的string 类型  150

7.7 string 类型上的其他操作  154

7.8 小结  155

第8 章 文件——电子存储  157

8.1 文件流对象简介  157

8.2 引用磁盘文件  159

8.3 文本文件与二进制文件  164

8.4 二进制操作简介  166

8.5 小结  173

第9 章 一些高级编程技术  175

9.1 命令行参数  175

9.2 函数重载  179

9.3 do-while 循环  183

9.4 switch-case 语句  184

9.5 多模块  185

9.6 异常处理:出问题找我  188

9.7 小结  191

第10 章 C++0x 的新功能  193

10.1 C++0x 功能概述  193

10.2 long long 类型  194

10.3 基于范围的for   203

10.4 auto 和decltype 关键字  208

10.5 nullptr 关键字  209

10.6 强类型枚举  210

10.7 纯字符串字面值  217

10.8 小结  218

第11 章 进入类的世界——Fraction类  220

11.1 面向对象:准智能数据类型  220

11.2 Point:一个简单的类  222

11.3 private 关键字:成员专用(保护数据)  224

11.4 Fraction 类简介  228

11.5 内嵌函数  230

11.6 寻找最大公约数  231

11.7 寻找最小公倍数  232

11.8 小结  242

第12 章 构造器——你的地盘你做主  244

12.1 构造器简介  244

12.2 多个构造器(重载)  245

12.3 仅限C++0x:在类声明里初始化成员  246

12.4 默认构造器  247

12.5 仅限C++0x:代理构造器   249

12.6 仅限C++0x:统一的初始化语法   250

12.7 引用变量和输入参数(&)   255

12.8 副本构造器   257

12.9 从字符串到分数的构造器   261

12.10 小结  263

第13 章 操作符函数:对象也运算   265

13.1 类操作符函数简介  265

13.2 声明操作符函数为全局函数  267

13.3 用引用来提高效率  269

13.4 操作符函数的重载  277

13.5 类赋值操作符  277

13.6 “等于”比较操作符函数  278

13.7 类与流:operator<<函数  279

13.8 仅限C++0x:用户定义字面值   284

13.9 小结  286

第14 章 动态内存和String 类  289

14.1 动态内存:new 关键字  289

14.2 对象和new 关键字  290

14.3 为多个数据分配内存   292

14.4 类的析构器  295

14.5 深复制和副本构造器   300

14.6 this 关键字  301

14.7 再论赋值操作符  302

14.8 编写字符串合并函数   304

14.9 小结  308

第15 章 两个完整的OOP 编程示例   310

15.1 链表简介   310

15.2 汉诺塔动画版   321

15.3 小结  328

第16 章 STL 库——让编程不再困难   330

16.1 list 模板简介  330

16.2 设计RPN 计算器  338

16.3 尖括号的正确解释   346

16.4 小结  346

第17 章 继承——推陈出新  348

17.1 继承方式  348

17.2 FloatFraction 类存在的问题  352

17.3 仅限C++0x:继承基类的构造器  353

17.4 protected 成员  356

17.5 对象包含  357

17.6 深思熟虑的继承方案  359

17.7 小结  361

第18 章 多态——让对象独立自主  363

18.1 FlaotFraction 类的另一种实现办法  363

18.2 虚函数简介  364

18.3 仅限C++0x:必须明确地进行覆盖  369

18.4 纯虚函数和其他抽象概念  370

18.5 抽象类和接口  371

18.6 面向对象与输入和输出流  372

18.7 写在最后  377

18.8 结束语  378

18.9 小结  379

附录A 操作符  381

A.1 范围操作符  383

A.2 sizeof 操作符  384

A.3 老式和新式的强制类型转换  384

A.4 整数除法与浮点数除法  385

A.5 位操作符(&、|、^、~、<<和>>)  386

A.6 条件操作符  386

A.7 赋值操作符  387

A.8 并置操作符  387

附录B 数据类型  388

B.1 数据类型的精度  389

B.2 数值型字面值的数据类型  389

B.3 字符串字面值和转义序列  390

B.4 带符号整数的二进制补码  391

附录C 语法汇总  393

C.1 基本表达式  393

C.2 基本语句  394

C.3 控制结构和分支语句  394

C.4 变量声明  399

C.5 函数声明  401

C.6 类声明  402

C.7 枚举类型声明  403

附录D 预处理器指令  405

D.1 #define 指令  405

D.2 ## 操作符(合并)  406

D.3 defined 函数  406

D.4 #elif 指令  407

D.5 #endif 指令  407

D.6 #error 指令  407

D.7 #if 指令  408

D.8 #ifdef 指令  408

D.9 #ifndef 指令  409

D.10 #include 指令  409

D.11 #line 指令  410

D.12 #undef 指令  410

D.13 预定义常数  410

附录E ASCII 编码  411

附录F 标准库函数  414

F.1 字符串(C 字符串)函数  414

F.2 数据转换函数  415

F.3 单字符函数  415

F.4 数学函数  416

F.5 随机函数  417

F.6 时间函数  417

F.7 strftime 函数的输出格式  419

附录G I/O 流对象和类  421

G.1 控制台流对象  421

G.2 I/O 流的处理符  422

G.3 输入流函数  423

G.4 输出流函数  423

G.5 文件I/O 函数  423

附录H STL 类和对象  426

H.1 STL 库string 类  426

H.2 模板  428

H.3 模板  429

附录I 术语表  431