图书前言

第2版前言

本书是《面向对象程序设计(C++语言)》的第2版,为保持一定的教学连续性,本书继续保留原教材的主要框架及特点,对部分章节内容进行了更新或修改。

1. 第2版的变化

通过几年来的教学实践积累,根据作者的授课经验,以及教材使用院校的反馈,在第1版的基础上,本书做了以下几个方面的修改。

(1) 对章节内容的修改及完善。

在不改变整体知识架构的基础上,对部分章节的内容做了调整,对章节内容进行深入讲解分析,更新或增加了每章的例题与习题。

(2) 增加了程序运行结果的截图。

对于每章的例题,修改了例题运行结果的表示形式,给出例题的实际运行结果截图,以这种方式呈现程序的运行结果,强化了运行结果的直观性,便于读者阅读分析。

(3) 特别修改了本书第三部分的内容。

特别修改了Visual C++环境下Windows程序开发的内容,基于本书第一部分和第二部分的学习内容,增加了“小球游戏程序”开发的实例,综合运用面向对象程序设计知识,设计开发Windows应用程序,使学生在面向对象程序设计上再上一个台阶。

(4) 更新了Windows平台的程序开发环境。

本书基于目前较主流的Visual C++ 2015集成开发环境,所有程序均基于Visual C++ 2015集成开发环境编译运行。并给出开发步骤的截图说明,读者可以跟着设计过程说明,学习应用程序的开发。

(5) 增加C++11标准的新特性。

参考了C++标准,为了保持教学的连贯性,本书并没有全部改到C++11标准上,仅给出了C++11的部分新特性,以便读者了解和深入学习。

2. 本书的主要内容

本书内容主要分三大部分,首先介绍C++语言的基础,然后重点介绍面向对象的程序设计思想,最后讲解基于Windows环境的VC++程序开发,有理论、有实践,三大部分内容循序渐进,逐步提高,这也是本书区别于同类书的一大亮点。

第一部分是C++语言基础。重点介绍C++语言的语法、面向对象的基本特征、C++程序的开发过程、基本数据类型、函数、引用、动态内存管理及异常处理等。

第二部分是面向对象的程序设计。详细讲述面向对象程序设计的基本概念、类与对象的定义和使用、继承与派生、多态性、运算符重载、模板、标准模板库STL、C++的输入与输出等。

第三部分是Visual C++环境下Windows程序开发概述。包括Windows编程初步和综合设计实例。

每章开始以精练的语言扼要说明本章的内容要点,本章难点被适当地分解在各节中。

本书作者长期以来从事面向对象程序设计的教学,具有丰富的教学、实践经验和独到的见解,这些经验和见解都已融入本书的内容中。书中的程序都已在Visual C++2015集成开发环境下编译通过。

3. 本书的特色

本书的特色体现在以下4个方面。

(1) 内容精练、讲解深入。参考C++标准的新特性,对庞杂的知识做认真的取舍,结合作者的教学经验讲解,透彻展示重要内容。

(2) 知识介绍深入浅出、简明易懂。对C++语言的基本概念、原理和方法的简述由浅入深,条理分明,循序渐进。以“概念→语法→举例”的形式进行讲解,强调指出学生常犯的错误和容易混淆的概念。

(3) 特别强调实践环节对于程序设计的重要性。理论与实践紧密结合。不仅说明知识点,更重要的是向读者表明其应用方法,注重对知识的应用领域和质量进行评价,激发读者对于程序设计的兴趣,使读者在短时间内掌握“用什么”“怎么用”“用在哪”,进而学会用C++语言进行程序设计并积累丰富的实践经验。

(4) 讲授相关课程的教师可以从清华大学出版社网站www.tup.com.cn下载本书的电子课件和相关例程代码。

4. 相关说明

学生提出的问题,自己的编程实践和对技术的思索,特色教学的需要都是促使我们编写本书的源动力。本书第1~4章由李爱华编写,第5~8章由程磊编写,第9~13章由刘海艳编写。另外,沈红、郑浩哲、臧晶和高珊也参与了部分章节的编写及程序调试工作。

本书可以用作48~64学时教学的教材,我们努力从程序员的角度来介绍标准C++语言的基本技术和精华内容,但限于篇幅,有些内容无法详述,如需更深、更详细的研究时可参考本书在最后给出的参考文献书目。

本书第1版已被很多院校选做“面向对象程序设计”课程的教材,他们在使用过程中给出了非常中肯的建议,在此深表感谢。

本书是作者多年教学实践的产物,我们希望它能够引导读者步入面向对象程序设计的辉煌殿堂,也特别希望读者能够不吝指出书中的缺点和错误,与我们交流,以便将其修改得更加完善。

作者的电子邮箱如下:

程磊chglei@163.com

李爱华liaihua0561@163.com

作者

2018年5月