- 1、本文档共98页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
01-C++初步.ppt
面向对象程序设计——以C++语言为例 朱传华 chzhu@aiai.edu.cn 参考教材 《面向对象程序设计基础(第二版)》 李师贤 李文军 周晓聪 李宏新 林瑛 编著??? 高等教育出版社 目录 第一章 程序设计与C++语言初步 第二章 基本数据类型 第三章 基本控制结构 第四章 函数 第五章 类与对象 第六章 复合数据类型 第七章 继承机制 第八章 多态性 第九章 类属机制 第十章 C++的输入输出 第十一章 面向对象软件构造 第十二章 结束语 课时安排 上课学时44学时;上机实验学时10学时(资环系统专业) 上课学时42学时;上机实验学时22学时(地理信息系统专业) 第一章 程序设计与C++语言初步 预备知识 C语言和C++的发展历史和基本原理 过程性编程技术和面向对象编程技术 C++是如何在C语言的基础上添加面向对象概念的 C++是如何在C语言的基础上添加通用编程概念的 编程语言标准 创建程序的技巧 C++是一种令人兴奋的语言,它在C语言的基础上添加了面向对象编程的支持,在20世纪90年代便是最重要的编程语言之一,其应用在21世纪仍保持强劲势头。 C++继承了C语言高效、简洁、快速和可移植性的传统。C++面向对象的特性带来了全新的编程方法,这种方法是为应付复杂程序不断提高的现代编程任务而设计的。 C++的模板特性提供了另一种全新编程方法——通用编程。 1.1 C++简介 C++融合了3种不同的编程传统——C语言代表的过程性语言传统、C++在C语言基础上添加的类代表的面向对象语言的传统以及C++模板支持的通用编程技术。 使用C++的原因之一是为了利用面向对象的特性。要利用这种特性,必须对标准C语言知识有较为深入的了解,因为它提供了基本类型、操作符、控制结构和句法规则。 如果已经对C有所了解,便可以学习C++了,但这并不仅仅是学习更多的关键字和结构,从C过渡到C++的学习量就像从头学习C语言一样大。 如果先掌握了C语言,则在过渡到C++时,必须摈弃一些编程习惯。 如果不了解C语言,则学习C++时需要掌握C语言的知识、OOP知识以及通用编程知识,但无须摈弃任何编程习惯。 1.2 C++简史 在过去的几十年,计算机技术令人惊讶的速度发展着。体积更大、功能更强的计算机引出了更大更复杂的程序,而这些程序在程序管理和维护方面带来了新的问题。 在20世纪70年代,C和Pascal这样的语言引领人们进入了结构化编程年代,这种机制把秩序和规程带进了迫切需要这种性质的领域中。除了提供结构化编程工具外,C还能生成简洁快速运行的程序,并提供了处理硬件问题的能力,如管理通信端口和磁盘驱动器。这些因素使C语言成为20世纪80年代占统治地位的编程语言。 同时20世纪80年代,人们也见证了一种新的编程模式,面向对象编程(OOP)的成长。SmallTalk和C++语言具备这种功能。 1.2.1 C语言 20世纪70年代早期,贝尔实验室的Dennis Ritchie致力于开发UNIX操作系统(操作系统是能够管理计算机资源、处理计算机与用户之间交互的一组程序。例如,操作系统将系统提示符显示在屏幕上,并运行程序)。 为完成这项工作,Ritchie需要一种语言,它必须简洁,能够生成简洁、快速的程序,并能有效地控制硬件。传统上,程序员使用汇编语言来满足这些需求,汇编语言依赖于计算机的内部机器语言。 不过,汇编语言是低级(low-level)语言,也就是说,它针对于特定的计算机处理器。因此,要将汇编程序移植到另一种计算机上,必须使用不同的汇编语言重新编写程序。 但是,UNIX是为在不同的计算机(或平台)上工作而设计的,这意味着它是一种高级语言。高级(high-level)语言致力于解决问题,而不针对特定的硬件。 一种被称为编译器的特殊程序将高级语言翻译成特定计算机的内部语言。这样,就可以能过每个平台使用不同的编译器来在不同的平台上使用同一个高级语言程序了。 Ritchie希望有一种语言能将低级语言的效率、硬件访问能力和高级语言的通用性、可移植性整合在一起,于是他在旧语言基础上开发了C语言。 1.2.2 C语言编程原理 由于C++在C语言的基础上移植了新的编程理念,因此我们首先来看一看C所遵循的旧的理念。一般来说,计算机语言要处理两个概念—数据和算法。数据是程序使用和处理的信息,而算法是程序使用的方法(参见图1.1). C语言与当前最主流的语言一样,在最初面世时也是过程性(procedural)语言,这意味着它强调的是编程的算法方面。 从概念上说,过程化编程首先要确定计算机应采取的操作,然后使用编程语言来实现这些操作。程序命令计算机按一系列流程生成特定的结果,就像菜谱指定了厨师
文档评论(0)