C++程序设计教程
上QQ阅读APP看书,第一时间看更新

序言 PREFACE

为什么出这本书

数年前,传智播客团队是一群默默工作在IT岗位的程序员,现如今,为了同一个梦想,我们聚集在一起,为“改变中国的IT教育”而全力以赴。为什么会有这样的梦想,是因为在我们实现各自梦想的路上,不断地听到这样的来自IT毕业生的心声:

“我们专业的课程太枯燥了,太多理论方面的课程,并且这些理论听起来都是很难理解的,同学们学完了都是一头雾水。”

“终于毕业了,学了四年的计算机课程,我们班上大部分同学都不知道能干什么,感觉好像什么都学了,但却什么都不会干!”

“实习单位根本就不让我们干活,最多只是让我们阅读代码、修改文档,说我们什么都不会,不敢让我们参与实际工作。想想自己辛苦学了四年连实习的要求都达不到,心里很不是滋味。”

“面试的时候,用人单位问能做什么,做过什么项目,我们回答不上来,面试过程中问到的很多问题,我们连听都没有听过。”

……

这些心声并不是个别毕业生所表达的,而是中国高等教育反映出的一种普遍现象。我们并非否定中国高校的IT教育,而是想在IT教育的路上尽一份自己的绵薄之力。由于我国正处在市场经济转型期,目前高校的IT教育与企业的真实需求存在一定程度的脱节,这也给高等教育提出了一项亟待解决的课题,如果高校的相关课程更新滞后,那么毕业生毕业即失业的困境和现象仍将存在。出现这样的困境,其中主要的一个原因在于教材知识更新的速度过于缓慢,导致学生所学的知识与现在的社会需求严重不符,无法及时地向学生传授企业需要的专业技能。面对目前高校IT教育所存在的问题,教育部颁布的《关于全面提高高等教育质量的若干意见》提出了大力提升人才培养水平、全面提高高等教育质量的目标。很庆幸,我们能有机会与高校共同参与其中,我们所做的事情就是配合高校完成教学改革的目标和任务。

传智播客作为一家专业的IT培训机构,一直将“改变中国的IT教育”作为自己的事业,并为此拼搏了9年。在这期间,传智播客默默耕耘,陆续出版了计算机书籍几十本、教学视频几十套、发表各类技术文章几百篇,直接培养的软件工程师就有10万多名,被传智播客影响的在校学生更是多达数百万人。毫不夸张地说,传智播客已经为IT学子开辟了一条全新的求知之路。

9年的沉淀让传智播客拥有了目前国内最好的IT培训课程。如今,传智播客决定把这套精品课程全部公开,印刷成书并输送至高校,解决眼下高校最亟待解决的课程陈旧问题。另外,面向高校计算机专业的老师,传智播客还将提供免费的培训服务,让高校老师可以通过培训提高授课技能,将最专业、最实用的技能传授给学生。为了让广大师生在学习传智播客课程的同时能达到最好的效果,公司投入巨额资金,用于为高校师生提供以下学习配套资源与服务。

1. 本书光荣落户在在线学习网站“博学谷”:http://www.boxuegu.com。全宇宙的人都知道“学习IT的人都在博学谷”,难道您真不知道?

2. 在学习本书过程中,遇到任何问题,请找问答精灵,我们承诺工作时间3小时内解答您的问题。读者可以通过扫描下面的二维码,关注问答精灵微信公众平台。学习IT有问题就找问答精灵。

问答精灵微信公众平台

3. 我们为本书录制了全程教学视频,通过学习视频您可以更容易理解本书的知识,视频下载网址:http://dvd.boxuegu.com。

4. 心中有疑问,想找老师面对面解惑?每周六晚上8点~10点,“面对面”讲堂,我们与您不见不散,网络公开课网址:http://openclass.boxuegu.com。

5. 学习需要氛围,在校园快点组织起您的学习社团吧,只要申请通过,我们将给予社团各种支持,包括:免费提供教材、视频教程、技术参考资料、技术面试资料、技术讲座、实习岗位等支持,优秀社团还可获得我们每学期2000元的现金奖励。学习社团网址:http://club.boxuegu.com。

6. 本书配套源代码,下载网址:http://book.boxuegu.com/C++/。

7. 针对高校教学,传智播客用近9年的教育培训经验,精心设计了“教材+教案+授课资源+考试系统+题库+教学辅助案例”一站式IT就业培训系列教程,方便老师进行教学,能够有效提高老师日常教学的效率。

如需索要配套教学资源,请关注博学谷高校老师俱乐部,扫描下方二维码关注微信公众平台。

高校老师俱乐部

希望通过我们的努力,在不久的将来,高校能够真正培养出符合企业所需的实用型人才,IT学子们不再为就业而迷惘!

关于本书

作为一门技术的进阶教程最重要也最难的一件事情就是要将一些非常复杂、难以理解的思想和问题简单化,让读者能够轻松理解并快速掌握。本书对每个知识点都进行了深入的分析,并针对每个知识点精心设计了相关案例,然后在每个阶段模拟这些知识点在实际工作中的运用,真正做到了知识的由浅入深、由易到难。

全书共10章,接下来分别对每章进行简单的介绍,具体如下。

● 第1章主要介绍了C++在基础语法知识上相对于C语言进行的一些扩充,要求读者掌握C++相对于C语言扩充的特有知识,并可以用C++语言编写程序。

● 第2章讲解了C++的核心知识类与对象,包括类的定义,对象的创建,类中的数据成员与函数成员,如构造、析构与拷贝构造函数,用const与static修饰的数据成员与成员函数,以及类的友元等。本章真正叩开了C++知识的大门,学习好本章能让读者掌握C++的核心内容,并深刻理解面向对象的程序设计思想。

● 第3章讲解了类的继承与多态。第一部分继承讲解了单一继承与多重继承,以及由这些继承形成的类层次结构中容易出现的问题及解决方法;第二部分主要讲解了多态,来实现代码更好的扩展。通过本章的学习为读者开启探索更高层知识的大门。

● 第4章讲解的是运算符重载。它是C++语言最重要的特性之一,学好本章会加深对面向对象中多态性的理解。

● 第5章讲解了模板。这是C++泛型程序设计的重要体现,模板很好地实现了代码重用,它与C++的标准模板库(STL)联系紧密,学好模板,对以后学习STL非常重要。

● 第6章讲解了C++是如何使用I/O流类库来处理数据的输入/输出和文件的读写。熟练掌握I/O流的使用,特别是文件流的使用,对编程非常重要,因为大多数程序处理都与文件相关。

● 第7~8章分别讲解了C++中的异常处理机制、STL模板库。C++的异常处理机制保证了C++代码的高容错性;而STL模板库提供了大量的软件复用组织,可以使程序员高效而快速的开发。

● 第9章一共讲了两部分内容,第一部分是在C++的基础上讲解了实际开发中常用的几种开发模式,使读者在学习后可以了解实际开发中的常用模式;第二部分讲解了C++11标准的一些新特性,其中的一些用法改变了原有的编程习惯,提高了编程效率。

● 第10章讲解了一个综合项目——物流货仓管理系统,将前面所学的C++知识融会贯通,在这个项目中进行实际应用。本章内容从需求分析、功能描述、模块划分到数据库设计来解析项目开发的内幕。通过本章的学习,可以使读者更加深刻地了解实际中项目的开发流程。

如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习,通常来讲,看到后面对知识点的讲解或者其他小节的内容后,前面看不懂的知识点一般就能理解了,如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。

致谢

本书的编写和整理工作由传智播客教育科技有限公司高教产品研发部完成,主要参与人员有徐文海、许晶晶、薛蒙蒙、马丹、高美云、陈欢、黄云、孙洪乔、金鑫等,全体人员在这近一年的编写过程中付出了很多辛勤的汗水。除此之外,还有传智播客 600多名学员也参与到了本书的试读工作中,他们站在初学者的角度提供了许多宝贵的修改意见,在此一并表示衷心的感谢。

意见反馈

尽管我们尽了最大的努力,但书中难免会有不妥之处,欢迎各界专家和读者朋友们来函给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或有不认同之处,可以通过电子邮件与我们取得联系。

请发送电子邮件至:itcast_book@vip.sina.com

传智播客教育科技有限公司 高教产品研发部

2015年5月1日于北京