ITEEDU

第1章计算机与C++编程简介

第2章 控制结构

第三章 函数

第四章 数组

第5章_指针与字符串

第6章_类与数据抽象(一)

第7章_类与数据抽象(二)

第8章_运算符重载

第9章_继承

第10章_虚函数与多态性

第11章_C输入_输出流

第12章_模板

第十三章 异常处理

第十四章 文件处理

C++大学教程 (第二版)

欢迎来到C++的世界!我们将努力带给你一个信息丰富、充满趣味和富于挑战的学习经历。C++是一种较难的语言,通常只传授给有经验的程序员,因此本书在C++教材中独具一格:

●适合很少或没有编程经验的技术方面的人员

●适合需要深入钻研C++的熟练的程序员

一本书怎样适应两类读者呢?本书始终强调通过实践证明的结构化编程〔structuredprogramming)和面向对象编程(object-oriented programming)技术编写清晰的程序。非程序员从一开始就要养成良好的编程习惯。我们尽量以清晰而直接的方式编写程序。本书附有大量插图,更重要的是.本书提供大量实用的C++程序,并显示这些程序在计算机上运行时产生的输出结果。

所有C++特性都是在完整、可工作的C++程序环境中介绍的,我们称其为“有生命力的代码”。所有这些例子都可以从我们的web站点www.deitel.com中下载.也可以通过本书所配的交互式光盘《C与C++多媒体教室(第二版)》中取得。多媒体教室的特性见本书最后的说明。多媒体教室中还包含本书一半练习的解答,包括简单解答、小型程序和许多完整项目。

本书的前五章介绍计算机基础、计算机编程和C++计算机编程语言。参加我们课程的新学员告诉我,第1章到第5章的材料为今后学习C++的高级知识打下了坚实基础。熟练的程序员可以快速浏览前五章,然后阅读本书其余部分对C++的有深度、有挑战性的介绍。

许多熟练的程序员告诉我们,他们很欣赏我们对结构化编程的处理、他们通常用C或Pascal结构化编程语言进行编程,但由于没有系统地学习结构化编程,因此常常无法用这些语言编写出最佳代码。学习本书前几章介绍的结构化编程知识后,有助于改进使用C或Pascal语言编程的风格。因此,无论你是新手还是熟练的程序员,这里的信息都是充实、有趣并且具有一定深度的。

大多数人对计算机能做的工作略有所知,利用本书可以学会如何指示计算机做这些工作。软件(sofware,即编写的指令,命令计算机完成操作并做出判断)可以控制计算机(通常称为硬件,Hardware)。C++是当今最常用的软件开发语言之一。本书介绍的C++版本已经过美国国家标准协会(ANSI,American ational Standards Institute)和国际标准化组织(IS0,International Stanards0rganization)的标准化,这个ANSI/ISO

C++草案标准已经批准为全球标推。

计算机的应用领域在不断增加。在这个成本稳步攀升的时代,计算成本却在急速下降,因为硬件和软件技术都在飞速发展。25年前装满整个房间、价值上百万美元的计算机如今已经缩小到比手指甲还小的芯片,而且只要几美元。具有讽刺意味的是,硅是地球上最丰富的资源之一,是普通砂子的主要组成部分。硅芯片技术使计算技术如此经济,如今全世界已经有大约2亿台通用计算机在使用中,其应用涉及商业、工业、政府和个人生活。这个数字在近年内必将翻番。

本书将使读者面临几个挑战。几年前,人们学习第一个编程语言时可能只要学习C或Pascal,但实际上还需要学习C和C++,为什么呢?因为C++包括C语言和其他更多的内容。

几年前人们只需学习结构化编程(sstructured programming),而今则既要学习结构化编程,又要学习面向对象编程(object-oriented programming),因为面向对象是今后10年最关键的编程方法。本课程要建立和使用许多对象(Object),但是这些对象的内部结构最好用结构化编程方法建立。另外,操作对象的方法最好也用结构化编程方法来表达。

另一个介绍两种方法的原因是,目前有大量C++系统是从C语言系统移植过来的,还有大量的所谓“C语言遗留代码”。C语言已经使用20余年,近年来用得越来越多。人们学习C++之后就会发现,C++比C语言强得多,因此通常会转到使用C++.他们会将遗留的系统移植到C++,这是个相对简单的过程。然后,他们开始用各种C++对C++语言的增强特性改进其编写的类C语言程序的风格。最后,他们开始利用C++面向对象编程的功能,真正了解这种语言的全部好处。

编程语言中的一个有趣现象是,大多数厂家都推出C/C++产品组合而不是提供分开的产品。这样,用户可以继续使用C语言编程,适当时候再逐渐过渡到C++。

C++已经成为实现语言的首选.但它能在第一门编程课程中介绍吗?我们认为可以。五年前,当人们用Pascal作为第一门编程课程时,我们遇到过类似挑战。我们编写了《CHow To Program》。如今全世界几百所大学都在使用《C How To Prrogram》第二版,使用这本教材的课程和使用Pascal作为第一门编程课程一样有效。其间没有明显的差别,只是学生学习的兴趣更高,因为他们知道工作中要使用的是c语言而不是Pascal语言。学习C语言的学生还能更快地学习C++和新的Internet语言——Java。

本书前五章介绍C++中的结构化编程方法、C++的“C语言部分”和“C++对C语言的改进”。然后要介绍C++面向对象编程,但我们不想等到第6章再介绍面向对象编程,因此前五章每一章都有一节“有关对象的思考”,介绍面向对象编程的基本概念和术语。第6章“类与数据抽象“将开始用C++生成对象并编写面向对象的程序。

第1章分为三部分,第一部分介绍计算机基础和计算机编程。第二部分立即开始编写一些简单C++程序,第三部分介绍有关对象的思考。

下面要开始富有挑战和回报的旅程了。