前言
C++是在C语言基础上发展起来的,它既有面向过程的优点,也有面向对象的优势。C++既可以操作系统硬件,也可以开发上层软件。目前,C++被广泛应用在系统软件、嵌入式系统、服务端、网络软件、游戏软件等领域。此外,C++在图像处理、虚拟仿真等方面也有着深入应用。随着信息化、智能化和网络化的发展,以及嵌入式系统技术的发展,C++语言的应用会越来越广泛。
◆为什么要学习本书
本书在第1版《C++程序设计教程》的基础上进行内容升级,对C++知识体系进行更为系统的讲述,对每个知识点进行更为深入的讲解,并精心设计了更多相关案例,真正做到由浅入深、由易到难。
本书具有以下特点。
1.案例丰富。本书为每个知识点都配备了案例,突出对读者动手能力的培养。
2.语言简洁精练,通俗易懂。本书对难以理解的编程问题用简单、清晰的语言进行描述,让读者更容易理解。
3.使用新的开发工具。为了让读者接触最新的开发环境,本书紧跟技术前沿,选用了Visual Studio 2019作为开发工具。
4.面向新技术。为了让读者接触更多的前沿技术,本书增加了对C++11标准中新特性的介绍。
◆如何使用本书
本书共分为11章,下面分别对每章进行简单的介绍,具体如下。
- 第1章主要介绍C++对C语言的扩充,内容包括命名空间、函数重载、引用等。通过本章的学习,读者能掌握C++在C语言基础上引入的新特性。
- 第2~5章主要介绍C++的核心知识,内容包括类与对象、运算符重载、继承与派生、多态与虚函数。读者掌握了这些核心知识就理解了C++的精髓,也为后面的学习打好了基础。
- 第6~7章主要介绍模板与STL。模板与STL是C++的高级知识,能够简化C++编程,提高C++程序的执行效率。掌握了模板与STL的应用,读者就能够站在一个更高的角度认识C++。
- 第8~9章主要介绍C++的I/O流和异常,I/O流能够帮助读者完成数据的传输,异常处理机制能够帮助读者更好地处理C++程序中的异常情况。
- 第10章主要介绍C++11的新特性,包括关键字、智能指针、右值引用、多线程等。C++11增加的新特性旨在简化C++编程,提高程序执行效率。掌握C++11的新特性,能够帮助读者更快、更简洁地实现C++程序开发。
- 第11章带领读者开发一个综合项目——酒店管理系统,内容包括项目分析、项目实现、项目心得等。通过本章的学习,初学者可以了解C++项目的开发流程。本章要求初学者按照书中的思路和步骤动手完成项目开发。
如果读者在理解知识点的过程中遇到困难,建议不要纠结,可以先往后学习,前面不懂的地方慢慢就理解了。如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。
◆致谢
本书的编写和整理工作由传智播客教育科技有限公司完成,主要参与人员有高美云、薛蒙蒙、李卓等,全体人员在这近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。
◆意见反馈
尽管我们付出了很大的努力,但书中难免会有不妥之处,欢迎读者朋友们来信给予宝贵意见,我们将不胜感激。
来信请发送至电子邮箱itcast_book@vip.sina.com。
黑马程序员
2020年10月于北京