本书以C++语言为工具,循序渐进地介绍程序设计的基本方法与理念,重点介绍目前的主流程序设计方法——面向对象程序设计(Object-Oriented Programming)。.
本书在体系结构上,将程序设计的基本理念和C++语言的基础知识有机地结合在一起;在选材上,充分考虑了读者知识结构和能力结构的形成规律,合理布局知识点,恰当安排内容难度、深度和广度。
全书包括有机联系的14章和6个附录。
第1章介绍程序设计语言和程序设计方法的发展,讨论使用C++语言构造程序的基本方法和步骤,介绍C++程序的基本结构。
第2章介绍C++语言中提供的内置数据类型以及与类型有关的基本概念,同时也简单介绍C++语言程序设计环境中标准输入/输出库的基本概念与用法。
第3章介绍语句与程序控制结构的基本概念以及C++语言中提供的基本语句。其中,重点介绍结构化程序设计采用的3类基本控制结构(特别是选择结构与循环结构)。
第4章介绍C++程序中函数的声明和使用方法,以及有关子程序的基本概念(如参数传递方式、变量作用域与生命期等)。其中主要介绍两点:一是函数的声明与调用,为第5章引入类与对象的概念打下基础;二是递归函数。
第5章介绍枚举类型、结构类型、数据封装与信息隐藏、C++中类的定义、构造函数与析构函数、
对象创建等内容。重点介绍类与对象的定义和使用方法,并阐述面向对象程序设计中以类作为程序基本构造单位的思想。
第6章介绍C++中提供的两种数据类型:数组和指针。讨论用这两种数据类型构造复杂数据结构的方法。
第7章介绍字符串的表示与使用。
第8章介绍继承和组合的概念、C++中对继承机制的支持。重点介绍继承机制的用法以及使用继承机制组织类层次。
第9章介绍重载的基本概念,以及本质上一致的两类重载:函数重载和操作符重载。同时也介绍了构造函数重载的一种特殊形式:复制构造函数。
第10章介绍C++中的输入/输出机制,重点介绍C++中的标准输入/输出流以及文件流。
第11章描述多态性的概念、C++语言对多态性的支持,以及多态性的引入对类的一般特性的影响,并讨论使用多态性的注意事项。
第12章介绍C++语言的异常处理机制,以及如何通过异常处理使程序更健壮。
第13章介绍泛型编程的基本概念以及C++语言对泛型编程的支持,总结C++对代码级软件重用的支持。其中,重点介绍了函数模板和类模板。
第14章介绍标准模板库(STL)的3个主要组件:容器、迭代器和算法。重点介绍STL的使用及其对软件重用的支持。STL可说是C++标准库的精华所在,掌握STL的使用可以大大提高C++程序开发的效率和质量。因此本书除了在第14章对STL进行概要介绍之外,还在附录E中给出了关于STL中泛型算法的简介,供读者参考。这也是本书相比于传统C++教材的一大特色。..
附录A给出了C++语言的保留字。
附录B为标准ASCII代码表,供读者在使用字符类型时参考。
.附录C给出了C++标准库中提供的常用数学函数。
附录D给出了C++标准库头文件的列表,为读者使用相关头文件提供线索。
附录E为标准库泛型算法简介,可作为读者使用相关算法的快速索引。
附录F为本书所涉及主要术语的英汉对照表,可供读者在阅读相关英文书籍时作为参考。
本书以程序设计的思想方法和程序设计语言的知识要点为线索,以C++标准(International StandardISO/IEC 14882)为依托,既注重内容的完整性,又尽量精简对C++语言的介绍,对实际应用中很少使用的内容尽量不涉及,从而避免让读者过多地陷入语法细节;既注重理论知识的介绍,又强调实际的应用,力求提高读者利用面向对象程序设计方法和C++语言解决实际问题的能力。
学习程序设计一要自己动手多编程序并上机调试,二要多阅读并评价别人编写的程序,因此,本书每章都包含丰富的代码实例(书中给出的程序代码均在Microsoft Visual C++ .NET 2003中编译通过),并且每章都给出了一个具有应用背景的综合性编程实例,通过该实例深化应用该章的主要内容,讲解如何使用C++语言解决具体问题,从而提高读者的编程与动手能力,为进行软件开发及学习其他相关课程打下良好基础。同时,每章均提供具有针对性的典型习题,以帮助读者掌握该章内容。
本书注重培养读者对面向对象程序设计方法和C++语言的实际运用能力,书中给出了大量的“提示”和“注意”,旨在强调重要的知识点,提醒常犯的错误,引导读者深入思考。书中经常对不同程序设计方法进行比较探讨,对C++语言特征上的优缺点进行描述,以期拓宽读者的专业视野。
本书作者从事程序设计课程教学多年,积累了一些经验,出版了多本译著和教材,其中,《C++Primer(第4版)》(翻译)及《C++ Primer(第4版)习题解答》(编著)在读者中反响较好①,《C++程序设计实验教程》被教育部评为2007年度普通高等教育精品教材。本书正是根据作者多年的教学实践经验,在对国内外同类教材进行了深入的比较研究后编写而成的。
本书既可作为计算机专业本科生程序设计课程的入门教材,也可以作为相关专业高年级学生面向对象程序设计课程的教材,还可供软件开发人员参考。
程序设计的世界非常广阔,没有一本教材能够囊括程序设计的所有相关知识,更多时候是要靠学习者的探索和发挥,但是,入门和兴趣是最重要的,这本教材正是这样一本可以将读者引入C++程序设计大门的书。
本书在编写过程中得到了中山大学信息科技学院相关老师的帮助,在此表示衷心的感谢。本书的出版也离不开人民邮电出版社各位编辑的辛勤劳动,在此表示衷心的感谢。
由于作者水平所限,书中不当之处在所难免,恳请读者批评指正。
作 者
2008年3月...