王朝网络
分享
 
 
 

21天学通C++(第四版)

王朝导购·作者佚名
 
  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  参考价格: 点此进入淘宝搜索页搜索
  分类: 图书,计算机/网络,程序设计,C C++ C# VC VC++,

作者: [美]Jesse Liberty

出 版 社: 人民邮电出版社

出版时间: 2002-4-1字数:版次: 1版1次页数: 617印刷时间:开本:印次:纸张:I S B N : 9787115099785包装: 平装编辑推荐

本书全面系统地介绍了C++编程的基本知识,如控制输入/输出、循环和数组、目标编程、模板以及创建C++应用程序,所有这些内容都包括在结构合理、联系紧密的章节之中。本书各章都提供了例程的清单,这些清单包括例程的输出以及代码的分析。此外,为了帮助读者加深理解所学内容,每章结束时都提供了一组常见问题及答案、练习题和测验。通过对照检查附录D所给出的测验和练习题的答案,可评估自己的学习进展情况。

本书可作为没有任何编程经验的新手学习C++的教材,另外由于第四版是这本书的最新版本,所以本书也可作为有经验的C++程序员了解最新编程内容的参考书。

作者简介

Jesse Liberty是编著了12本有关C++,C#及面向对象分析和设计的书籍的作者。他是Liberty Associates(http://WWW.Liberty Associates.com)公司的总裁,该公司提供.net开发、编程、顾问、咨询以及培训。

Jesse曾是一名杰出的AT&T软件工程师,Xerox和LinkNet(PBS)的软件设计师,花旗银行开发部的副总裁。他和他的妻子Stacey及两个女儿Robin和Rachel共同生活在Massachusetts州的Cambridge郊区。

目录

第一篇

第一章开始2

1.1引言2

1.2C++历史简介2

1.2.1本书要解决的问题2

1.2.2过程编程、结构化编程和面向对象的编程3

1.2.3C++和面向对象编程4

1.3C++的发展历程4

1.4学习C++应该先学C吗5

1.5C++和Java及C#5

1.6ANSI标准5

1.7准备编程5

1.8开发环境6

1.9生成程序6

1.9.1用编译器生成对象文件6

1.9.2用链接器生成可执行文件6

1.10程序开发周期7

1.11HELLO.cpp——你的第一个C++程序8

1.12开始学习编译器9

1.12.1创建Hello World项目9

1.13编译错误9

1.14小结10

1.15问与答10

1.16习题10

1.16.1测验11

1.16.2练习11

第二章C++程序的组成部分12

2.1一个简单程序12

2.2cout简介13

2.3使用标准的Namespace15

2.4注释17

2.4.1注释的类型17

2.4.2使用注释17

2.4.3对注释的忠告18

2.5函数18

2.5.1函数的使用19

2.6小结20

2.7问与答20

2.8习题21

2.8.1测验21

2.8.2练习21

第三章变量与常量22

3.1什么是变量22

3.1.1将数据存储在内存中22

3.1.2留出内存22

3.1.3整型量的大小23

3.1.4有符号和无符号24

3.1.5基本变量类型24

3.2定义一个变量25

3.2.1大小写敏感性26

3.2.2关键字26

3.3一次创建多个变量27

3.4给变量赋值27

3.5typedef28

3.6short与long的使用29

3.6.1无符号整型量的回绕29

3.6.2有符号整型量的回绕30

3.7字符型变量31

3.7.1字符和数字31

3.7.2特殊打印字符32

3.8常量32

3.8.1字面常量33

3.8.2符号常量33

3.9枚举型常量34

3.10小结35

3.11问与答36

3.12习题36

3.12.1测验36

3.12.2练习37

第四章表达式和语句38

4.1语句38

4.1.1空白38

4.1.2块和复合语句38

4.2表达式39

4.3运算符40

4.3.1赋值运算符40

4.3.2数学运算符40

4.3.3整型量除法和取模41

4.4赋值运算符与数学运算符的组合41

4.5自加与自减42

4.5.1前置和后置42

4.6优先级44

4.7括号的嵌套44

4.8真值的本质45

4.8.1关系运算符45

4.9if语句46

4.9.1缩进样式48

4.9.2else49

4.9.3高级if语句50

4.10在嵌套的if语句中使用大括号52

4.11逻辑运算符54

4.11.1逻辑“与”54

4.11.2逻辑“或”54

4.11.3逻辑“非”54

4.12简化求值55

4.13关系运算符的优先级55

4.14有关真假关系的进一步讨论55

4.15条件运算符(三目运算符)56

4.16小结57

4.17问与答57

4.18习题58

4.18.1测验58

4.18.2练习58

第五章函数60

5.1什么是函数60

5.2函数的返回值、参数和变元61

5.3声明和定义函数61

5.3.1函数的声明61

5.3.2函数原型61

5.3.3定义函数62

5.4函数的执行63

5.5局部变量63

5.5.1作用范围65

5.6全局变量65

5.7使用全局变量的注意事项66

5.8有关局部变量的更多知识66

5.9函数语句67

5.10有关函数变元的更多知识67

5.10.1使用函数作为函数的参数68

5.11参数作为局部变量68

5.12有关返回值的更多知识69

5.13默认参数71

5.14函数重载72

5.15有关函数的一些专门话题75

5.15.1内嵌函数75

5.15.2递归76

5.16函数是如何工作的80

5.16.1抽象层次80

5.16.2划分RAM80

5.16.3堆栈与函数81

5.17小结82

5.18问与答82

5.19习题83

5.19.1测验83

5.19.2练习83

第六章面向对象编程85

6.1C++是面向对象的吗85

6.2创建新类型85

6.2.1为什么要创建新类型86

6.3类和成员86

6.3.1声明一个类86

6.3.2有关命名习惯的一点说明87

6.3.3定义一个对象87

6.3.4类与对象87

6.4访问类成员87

6.4.1给对象赋值而不是给类赋值88

6.4.2如果你不声明它,你的类就没有它88

6.5私有和公有88

6.5.1使成员数据私有90

6.5.2私有性与安全性91

6.6实现类的方法92

6.7构造函数和析构函数94

6.7.1默认的构造函数和析构函数95

6.7.2使用默认构造函数95

6.8成员函数const97

6.9界面与实现98

6.10在何处放置类声明和方法定义100

6.11内嵌实现100

6.12用其他类作为成员数据的类102

6.13结构体105

6.13.1为什么两个关键字做同一件事106

6.14小结106

6.15问与答106

6.16习题107

6.16.1测验107

6.16.2练习107

第七章程序流程109

7.1循环109

7.1.1循环语句的起源——goto语句109

7.1.2为什么现在不再使用goto语句110

7.2while循环110

7.2.1复杂的while语句111

7.2.2continue和break112

7.2.3while(true)循环114

7.3do...while循环115

7.4do...while116

7.5for循环118

7.5.1高级for循环119

7.5.2多重初始化和自增运算120

7.5.3在for循环中使用空语句120

7.5.4空 for循环122

7.5.5嵌套循环123

7.5.6for循环的作用域124

7.6循环总结125

7.7switch语句126

7.7.1使用带有菜单的switch语句129

7.8小结131

7.9问与答131

7.10习题132

7.10.1测验132

7.10.2练习132

第一篇内容回顾134

第二篇

第八章指针140

8.1什么是指针140

8.1.1在指针中存储地址141

8.1.2指针名142

8.1.3间接引用运算符142

8.1.4指针、地址和变量143

8.1.5使用指针操作数据144

8.1.6检查地址145

8.2为什么要使用指针146

8.3栈和自由存储区(堆)147

8.3.1new147

8.3.2delete148

8.4内存泄漏149

8.5在自由存储区内创建对象150

8.6删除对象150

8.7访问数据成员151

8.8自由存储区中的成员数据152

8.9this 指针155

8.10迷途指针、失控指针或悬浮指针156

8.11const指针158

8.11.1const 指针和const成员函数158

8.11.2const this指针160

8.12指针算法高级主题160

8.13小结162

8.14问与答162

8.15习题163

8.15.1测验163

8.15.2练习163

第九章引用165

9.1什么是引用165

9.2对引用使用取址运算符166

9.2.1引用不能被重新赋值167

9.3什么可以被引用168

9.4空指针和空引用170

9.5通过引用传递函数参数170

9.5.1用指针使swap()工作171

9.5.2使用引用实现swap()172

9.6理解函数头文件和原型1749.7返回多个值174

9.7.1通过引用返回值175

9.8使用引用传递来提高效率177

9.8.1传递const指针179

9.8.2使用引用代替指针181

9.9何时使用引用以及何时使用指针183

9.10混合使用引用和指针183

9.11不要返回对不在作用域中的对象的引用184

9.12返回对一个在堆中的对象的引用185

9.13指针的传递187

9.14小结188

9.15问与答188

9.16习题188

9.16.1测验188

9.16.2练习188

第十章高级函数190

10.1重载成员函数190

10.2使用默认值192

10.3默认值和重载函数的选择194

10.4默认构造函数194

10.5重载构造函数194

10.6初始化对象196

10.7复制构造函数196

10.8运算符重载200

10.8.1写一个自加函数200

10.8.2重载前置运算符201

10.8.3重载运算符函数的返回类型203

10.8.4返回无名临时对象204

10.8.5使用this指针205

10.8.6重载后置运算符206

10.8.7前置和后置之间的区别207

10.8.8加法运算符208

10.8.9重载operator+210

10.8.10运算符重载中存在的问题211

10.8.11运算符重载的局限性211

10.8.12重载什么211

10.8.13赋值运算符212

10.9处理数据类型转换214

10.9.1转换运算符216

10.10小结217

10.11问与答217

10.12习题218

10.12.1测验218

10.12.2练习218

第十一章面向对象的分析及设计220

11.1构造模型220

11.2软件设计:建模语言220

11.3软件设计:过程221

11.4Extreme编程222

11.5概览223

11.6需求分析223

11.6.1使用情况223

11.6.2应用分析230

11.6.3系统分析230

11.6.4计划文档231

11.6.5可视化231

11.6.6人工制品231

11.7设计232

11.7.1什么是类232

11.7.2变换233

11.7.3静态模型234

11.7.4动态模型240

11.8小结242

11.9问与答242

11.10习题243

11.10.1测验243

11.10.2练习243

第十二章继承244

12.1什么是继承244

12.1.1继承和派生244

12.1.2动物世界245

12.1.3派生的语法24512.2私有型与保护型247

12.3构造函数和析构函数248

12.3.1向基构造函数传递参数250

12.4覆盖函数254

12.4.1隐藏基类方法255

12.4.2调用基方法257

12.5虚函数258

12.5.1虚函数是怎样工作的261

12.5.2不能从基类中访问派生类中的函数262

12.5.3切片(slicing)262

12.5.4虚析构函数264

12.5.5虚复制构造函数265

12.5.6虚函数的代价267

12.6小结267

12.7问与答268

12.8习题268

12.8.1测验268

12.8.2练习269

第十三章数组和链表270

13.1什么是数组270

13.2数组元素270

13.3超过数组末尾写入数据271

13.4篱笆标志错误274

13.5初始化数组274

13.6声明数组275

13.7对象的数组276

13.8多维数组277

13.9初始化多维数组278

13.10有关内存的一些话题279

13.11指针数组279

13.12在自由存储区声明数组281

13.13指向数组的指针和指针数组281

13.14指针与数组名281

13.15删除自由存储区中的数组283

13.16char数组283

13.17strcpy()和strncpy()285

13.18字符串类286

13.19链表和其他结构291

13.20链表案例研究292

13.20.1责任授权292

13.21组件部分292

13.22你学到了什么299

13.23数组类299

13.24小结300

13.25问与答300

13.26习题300

13.26.1测验301

13.26.2练习301

第十四章多态性302

14.1单一继承的问题302

14.1.1升迁304

14.1.2下降304

14.1.3添加到两个链表306

14.2多重继承306

14.2.1多重继承对象的构成309

14.2.2多重继承对象中的构造函数309

14.2.3歧义解析312

14.2.4从共享基类中继承312

14.2.5虚继承315

14.2.6多重继承中存在的问题318

14.2.7混合继承和功能类319

14.3抽象数据类型319

14.3.1纯虚函数322

14.3.2实现纯虚函数323

14.3.3复杂的抽象层次326

14.3.4哪些类型是抽象的329

14.4小结329

14.5问与答329

14.6习题330

14.6.1测验330

14.6.2练习330

第二篇内容回顾331

第三篇

第十五章特殊类和函数340

15.1静态成员数据340

15.2静态成员函数344

15.3函数指针346

15.3.1为什么使用函数指针349

15.3.2函数指针数组351

15.3.3把函数指针传递给其他函数353

15.3.4在函数指针中使用typedef356

15.4成员函数指针358

15.4.1成员函数指针数组360

15.5小结361

15.6问与答362

15.7习题362

15.7.1测验362

15.7.2练习362

第十六章高级继承364

16.1包容364

16.1.1访问被包容类的成员369

16.1.2过滤对被包容成员的访问369

16.1.3包容的代价370

16.1.4按值来复制372

16.2按继承/包容条款实现与代理375

16.2.1授权376

16.3私有继承383

16.4友元类390

16.5友元函数397

16.6友元函数和运算符重载397

16.7重载插入运算符401

16.8小结405

16.9问与答405

16.10习题405

16.10.1测验406

16.10.2练习406

第十七章流408

17.1流概述408

17.1.1封装408

17.1.2缓冲409

17.2流和缓冲区410

17.3标准I/O对象410

17.4重定向411

17.5用cin输入411

17.5.1串412

17.5.2串存在的问题413

17.5.3运算符返回对一个istream对象的引用415

17.6cin的其他成员函数415

17.6.1单字符输入415

17.6.2不使用参数的get()415

17.6.3使用带字符引用参数的get()417

17.6.4从标准输入读取字符串417

17.6.5使用cin.ignore()419

17.6.6peek()和putback()421

17.7使用cout输出421

17.7.1清除输出422

17.8相关函数422

17.9控制符、标志和格式化指令423

17.9.1使用cout.width()423

17.9.2设置填充字符424

17.9.3设置标志425

17.10流和printf()函数426

17.11文件的输入和输出429

17.12ofstream429

17.12.1条件状态429

17.12.2打开文件进行输入和输出429

17.12.3在打开时改变ofstream的默认行为430

17.13二进制文件和文本文件432

17.14命令行处理434

17.15小结437

17.16问与答437

17.17习题438

17.17.1测验438

17.17.2练习438

第十八章名字空间439

18.1开始439

18.2按名字解析函数和类439

18.3创建名字空间442

18.3.1声明和定义类型442

18.3.2在名字空间外定义函数443

18.3.3添加新成员443

18.3.4嵌套的名字空间444

18.4使用名字空间444

18.5关键字using446

18.5.1using命令446

18.5.2using声明447

18.6名字空间别名449

18.7未命名的名字空间449

18.8标准名字空间std450

18.9小结451

18.10问与答451

18.11习题452

18.11.1测验452

18.11.2练习452

第十九章模板453

19.1什么是模板453

19.2参数化类型453

19.2.1实例化一个模板的实例453

19.3模板定义454

19.3.1使用名字455

19.3.2模板的实现455

19.4模板函数458

19.5模板和友元459

19.5.1非模板友元类和函数459

19.5.2通用模板友元类或函数462

19.6使用模板项465

19.6.1特殊化函数469

19.6.2静态成员和模板473

19.7标准模板库477

19.8容器477

19.9了解顺序容器477

19.9.1向量容器477

19.9.2列表容器482

19.9.3Deque容器483

19.10堆栈483

19.11了解队列484

19.12了解关联容器484

19.12.1映射容器484

19.12.2其他关联容器487

19.13算法类487

19.13.1不变序列运算488

19.13.2改变序列算法488

19.14小结489

19.15问与答489

19.16习题490

19.16.1测验490

19.16.2练习490

第二十章异常和错误处理492

20.1程序中的各种错误(bugs、errors、mistakes和code rot)492

20.1.1异常492

20.2异常493

20.2.1如何使用异常493

20.3使用try块和catch块497

20.3.1捕捉异常497

20.3.2设置多条catch语句498

20.3.3异常等级500

20.4异常中的数据和命名异常对象502

20.5异常和模板508

20.6没有错误的异常511

20.7关于代码腐烂511

20.8错误和调试511

20.8.1断点512

20.8.2观察点512

20.8.3检查内存512

20.8.4汇编512

20.9小结512

20.10问与答512

20.11习题513

20.11.1测验513

20.11.2练习513

第二十一章进一步掌握的内容515

21.1预处理器和编译器515

21.2查看中间结果515

21.3使用#define515

21.3.1用#define替换常量516

21.3.2用#define进行测试516

21.3.3预编译命令#else516

21.4包含和包含警卫517

21.5宏函数518

21.5.1为什么总要用括号519

21.5.2宏与函数和模板520

21.6内联函数520

21.7字符串操作522

21.7.1字符串化522

21.7.2连结字符串522

21.8预定义宏523

21.9assert()523

21.9.1用assert()调试524

21.9.2assert()与异常524

21.9.3副作用525

21.9.4类不变量525

21.9.5打印中间值529

21.9.6调试级别530

21.10位操作535

21.10.1“与”运算符536

21.10.2“或”运算符536

21.10.3“异或”运算符536

21.10.4求补运算符536

21.10.5设置位536

21.10.6清除位536

21.10.7反转位537

21.10.8位字段537

21.11风格539

21.11.1缩进540

21.11.2大括号540

21.11.3长代码行540

21.11.4switch语句540

21.11.5程序文本540

21.11.6标识符名称541

21.11.7名字的拼写和大写541

21.11.8注释542

21.11.9访问542

21.11.10类定义542

21.11.11包含文件542

21.11.12assert()543

21.11.13const543

21.12下一步543

21.12.1从何处获得帮助和建议543

21.12.2学习C#543

21.12.3保持联系543

21.13小结544

21.14问与答544

21.15习题545

21.15.1测验545

21.15.2练习545

第三篇内容回顾546

附录A二进制和十六进制557

A.1其他进制557

A.2进制的转换558

A.2.1二进制559

A.2.2为什么用二进制559

A.2.3位、字节和半字节560

A.2.4什么是kB(千字节)560

A.2.5二进制数560

A.3十六进制560

附录BC++关键字564

附录C运算符的优先级565

附录D答案566

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
更多商品
世纪儿
思科网络技术学院教程:计算机网络
唱片里的录音精品(附光盘)
无墙的博物馆
现代音响工程
路......——到美国读本科
论证2
冯玉祥传
永字八法——书法艺术讲义:插图珍藏本
唱片里的世界(续集)
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有