面向对象程序设计基础c++考试难不难啦,没上几节

中国领先的IT技术网站
51CTO旗下网站
面向对象程序设计与C++语言
《Visual C++基础与案例开发详解》第1章面向对象程序设计,本章将首先对C++中面向对象程序设计的相关知识进行介绍。读者应熟练掌握本章的内容,以便为后续章节的学习打下良好的基础。本节为大家介绍面向对象程序设计与C++语言。
作者:张孝祥/徐明华来源:清华大学出版社| 11:56
第1章 面向对象程序设计
Visual C++不仅仅是一个编译器,它还是一个应用程序的开发环境,使用它可以开发出专业级的Windows应用程序。Visual C++的基础为C++语言,C++中的继承、封装和派生的思想在Visual C++中都得到了很好的应用,因此,本章将首先对C++中面向对象程序设计的相关知识进行介绍。读者应熟练掌握本章的内容,以便为后续章节的学习打下良好的基础。
静态成员和友元函数
继承和派生
虚函数和多态
1.1& 面向对象程序设计基础
1.1.1& 面向对象程序设计与C++语言
早期的程序设计方法一般都是面向过程的(Procedure-oriented Programming,POP),在这种设计方法下,编程人员的主要工作是把一个复杂任务分解成若干个过程,然后再针对这些过程进行程序编写,其中每个过程都基于某些特定的算法。对于C语言来讲,就是编写一个个函数,每个函数的数据和程序代码是分离的,当修改某段程序时,所有与之相关的部分都需要做相应的调整。随着任务规模的不断扩大,程序变得很容易出错,而且越来越难以管理。这种面向过程的程序设计语言除C语言外,还包括Pascal语言、Basic语言等。
后来"面向对象"一词席卷了整个软件界。所谓面向对象的程序设计(Object-oriented Programming,OOP)其实就是一种基于结构分析的、以数据为中心的程序设计方法。它的主要思想是将数据及处理这些数据的操作都封装(Encapsulation)到一个称为类(Class)的数据结构中,使用这个类时,只需要定义一个类的变量即可,这个变量叫做对象(Object)。通过调用对象的数据成员来完成对类的使用。在这种方法下,编程人员不需要考虑"如何做",而只需指定"做什么"即可。这种编程思想较好地适应了现实世界中的问题,因此得到了广泛的应用。
面向对象的程序设计方法为编程人员提出了一些全新的概念--类、对象、封装、继承、多态等,下面将首先对类和对象的含义进行说明。
在面向对象的程序设计方法中,类(Class)是对自然现象或实体的程序语言描述,对象(Object)是对类的实例化。
如对于普通意义上的"笔",类可以泛指某一批外形、价格、生产厂家、出厂日期完全一致的笔,用这个类声明的一个对象是这些笔中的一支实实在在的笔,而且单纯从这一支笔中可以得到这样的认识--它具有一定的属性(外形、价格、颜色、长短)、行为(写字、绘画),与"笔"这个类具有相同的属性和行为。
如果程序中需要对笔进行操作,编程人员就可以先定义"笔"的类。对于"笔"的属性,可以用类的成员变量来实现,这些变量中有些可以让外界直接使用,那就把这些变量定义成公有变量,另一些不想让外界直接使用的变量可以定义成私有变量。而"笔"的行为则可以用这个对象的方法来描述,例如设定笔的颜色、读取笔的价格等操作都可以通过调用类的方法来实现。
对象是一个非常重要却又容易与"类"混淆的概念。对象是类的实例。仍以笔为例进行说明--笔、钢笔、铅笔、毛笔都是指一个特定的类型,而不是指特定的某一支笔,这一点要非常明确。要想使用这些类,必须把具体的类实例化,只有实例化了,才能通过实例来使用它的属性和方法。
这就像在生活中的常识一样--任何一种笔都有价格属性和一般用途,但如果不指定特定的一支笔,就不能说明价格的具体值,而且我们也无法使用代表抽象概念的笔来进行写作和绘画。一个类可以被多次实例化,也就是可以定义成多个对象。例如一个人可以有多支笔,每支笔作为笔对象而独立存在,各支笔相互之间不存在必然的关系。【责任编辑: TEL:(010)】&&&&&&
大家都在看猜你喜欢
热点热点头条头条热点
24H热文一周话题本月最赞
讲师:415018人学习过
讲师:41630人学习过
讲师:218802人学习过
精选博文论坛热帖下载排行
本书译自Grails项目负责人Graeme Keith Rocher所著的“The Definitive Guide to Grails”一书,着重介绍了如何在Grails框架下使用Groovy语...
订阅51CTO邮刊扫码下载官方App
学习过该课程的人还学习过:
其他联系方式
所属系列课程
网易公司()旗下实用技能学习平台。与优秀讲师、专业机构、院校合作,为您提供海量优质课程,以及创新的在线学习体验,帮助您获得全新的个人发展和能力提升。
关注我们:
& 网易公司 版权所有
面向对象程序设计-C++,IT与互联网,编程语言,翁恺,本课程以C++语言来介绍面向对象程序设计的原理和方法,内容包括面向对象程序设计基本原理和C++特有的语言特性。大致的章节包括基本理论、类与对象、构造与清除、函数、引用、继承与多态、拷贝构造、运算符重载、异常、模板和流等。本课程不涉及具体的C++开发环境,也不会涉及图形程序设计和网络程序设计等。
适用人群:有一定程序设计基础的人士导读:1.什么是面向对象程序设计?它与传统的结构化程序设计有什么不同?,面向对象程序设计既吸取了结构化程序设计的一切优点,又考虑了现实世界与面向对象解空间的映射关系,面向对象程序设计将数据及对数据的操作放在一起,它将对象及对对象的操作抽象成一种新的数据类型―类,并且考虑不同对象之间的联系和对象所在类的重要性,面向对象程序设计优于传统的结构化程序设计,在面向对象程序设计中可以用下面的式子表示程序:程序第一章 1. 什么是面向对象程序设计?它与传统的结构化程序设计有什么不同?
面向对象程序设计既吸取了结构化程序设计的一切优点,又考虑了现实世界与面向对象解空间的映射关系,它所追求的目标是将现实世界的问题求解尽可能简单化。 面向对象程序设计将数据及对数据的操作放在一起,作为一个相互依存、不可分割的整体来处理,它采用了数据抽象和信息隐藏技术。它将对象及对对象的操作抽象成一种新的数据类型―类,并且考虑不同对象之间的联系和对象所在类的重要性。 面向对象程序设计优于传统的结构化程序设计,其优越性表现在,它有希望解决软件工程的两个主要的问题――软件复杂性控制和软件生产率的提高,此外它还符合人类的思维习惯,能够自然地表现现实世界的实体和问题,它对软件开发过程具有重要的意义。 在面向对象程序设计中可以用下面的式子表示程序: 程序=对象+对象+?+对象 对象=算法+数据结构+程序设计语言+语言环境 在结构化程序设计中可以用下面的式子表示程序: 程序=数据结构+算法+程序设计语言+语言环境
2. 面向对象程序设计语言有哪几类?
(1) LISP家族 LISP是50年代开发出来的一种语言,它以表处理为特色,是一种人工智能语言,70年代以来,在LISP基础上开发了很多LISP家族的面向对象语言。 (2) Simula Simula语言是60年代开发出来的,在Simula中引入了几个面向对象程序设计语言中最重要的概念和特性,即数据抽象、类和继承性机制。Simula67是它具有代表性的一个版本,70年代发展起来的CLU,Ada,Modula-2等语言是在它的基础上发展起来的。 (3) Smalltalk Smalltalk是第一个真正的面向对象程序设计语言,它体现了纯粹的OOP设计思想,是最纯的OOP语言。它起源于Simula语言。尽管Smalltalk不断完善,但在那个时期,面向对象程序设计语言并没有得到广泛的重视,程序设计的主流是结构化程序设计。 (4) C家族 在19世纪80年代,C语言成为一种极其流行、应用非常广泛的语言。C++是在C语言的基础上进行扩充,并增加了类似Smalltalk语言中相应的对象机制。它将“类”看作是用户定义类型,使其扩充比较自然。C++以其高效的执行效率赢得了广大程序设计员的青睐,在C++中提供了对C语言的兼容性,因此,很多已有的C程序稍加改造甚至不加改造就可以重用,许多有效的算法也可以重新利用。它是一种混合型的面向对象程序设计语言,由于它的出现,才使面向对象的程序设计语言越来越得到重视和广泛的应用。 JAVA语言是一种适用于分布式计算的新型面向对象程序设计语言,可以看作是C++语言的派生,它从C++语言中继承了大量的语言成分,抛弃了C++语言中冗余的、容易引起问题的功能,增加了多线程、异常处理、网络程序设计等方面的支持,掌握了C++语言,可以很快学会JAVA 语言。
3. 面向对象系统有哪些特性?分别加以解释。
(1) 抽象性(abstract) 抽象是一种从一般的观点看待事物的方法,它要求程序员集中于事物的本质特征,而不是具体细节或具体实现。类的概念来自人们认识自然、认识社会的过程。在这一过程中,人们主要使用两种方法:从特殊到一般的归纳法和从一般到特殊的演绎法。在归纳的过程中,我们从一个个具体的事物中把共同的特征抽取出来,形成一个一般的概念,这就是“归类”;在演绎的过程中,我们又把同类的事物,根据不同的特征分成不同的小类,这就是“分类”。对于一个具体的类,它有许多具体的个体,我们称这些个体叫做“对象”。 (2) 封装性(encapsulation) 所谓数据封装就是指一组数据和与这组数据有关的操作集合组装在一起,形成一个能动的实体,也就是对象。数据封装就是给数据提供了与外界联系的标准接口,无论是谁,只有通过这些接口,使用规范的方式,才能访问这些数据。数据封装是软件工程发展的必然产物,使得程序员在设计程序时可以专注于自己的对象,同时也切断了不同模块之间数据的非法使用,减少了出错的可能性。 (3) 继承性(inheritance) 从已有的对象类型出发建立一种新的对象类型,使它继承原对象的特点和功能,这种思想是面向对象设计方法的主要贡献。继承是对许多问题中分层特性的一种自然描述,因而也是类的具体化和被重新利用的一种手段,它所表达的就是一种对象类之间的相交关系。它使得某类对象可以继承另外一类对象的特征和能力。继承所具有的作用有两个方面:一方面可以减少代码冗余;另一方面可以通过协调性来减少相互之间的接口和界面。 (4) 多态性(polymorphism) 不同的对象接收到相同的消息时产生多种完全不同的行为的现象称为多态性。C++语言支持两种多态性即编译时的多态性和运行时的多态性。编译时的多态性通过重载函数实现,而运行时的多态性通过虚函数实现。使用多态性可以大大提高了我们解决复杂问题的能力。
4. 解释类、对象、消息和方法的概念。
(1) 类(class) 在面向对象系统中,并不是将各个具体的对象都进行描述,而是忽略其非本质的特性,找出其共性,将对象划分成不同的类,这一过程为抽象过程。类是对象的抽象及描述,是具有共同属性和操作的多个对象的相似特性的统一描述体。在类的描述中,每个类要有一个名字标识,用以表示一组对象的共同特征。类中的每个对象都是该类的实例。类提供了完整的解决特定问题的能力,因为类描述了数据结构(对象属性)、算法(服务、方法)和外部接口(消息协议),是一种用户自定义的数据类型。 (2) 对象(object) 在面向对象系统中,对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成。属性和服务是构成对象的两个主要因素,属性是一组数据机构的集合,表示对象的一种状态,对象的状态只供对象自身使用,用来描述静态特性,而服务是用来描述对象动态特征(行为)的一个操作序列,是对象一组功能的体现。 对象是类的实例。 (3) 消息(message) 消息是面向对象系统中实现对象间的通信和请求任务的操作,是要求某个对象执行其中某个功能操作的规格说明。发送消息的对象称为发送者,接受消息的对象称为接收者。对象间的联系,只能通过消息来进行。对象在接收到消息时才被激活。 (4) 方法(method) 在面向对象程序设计中,要求某一对象做某一操作时,就向对象发送一个相应的消息,当对象接收到发向它的消息时,就调用有关的方法,执行相应的操作。方法就是对象所能执行的操作。方法包括界面和方法体两部分。方法的界面就是消息的模式,它给出了方法的调用协议;方法体则是实现某种操作的一系列计算步骤,也就是一段程序。消息和方法的关系是:对象根据接收到的消息,调用相应的方法;反过来,有了方法,对象才能响应相应的消息。所以消息模式与方法界面应该是一致的。同时,只要方法界面保持不变,方法体的改动不会影响方法的调用。在C++语言中方法是通过函数来实现的,称为成员函数。
1.分析下列程序的执行结果:
输出随机数
2. 分析下列程序的执行结果: i=0
3. C++语言对C语言在结构化程序设计方面进行了哪些扩充? 主要在以下方面进行了扩充: 文件扩展名、注释符、名字空间、输入输出、变量的定义、强制类型转换、动态内存的分配与释放、作用域运算符::、引用、const修饰符、字符串、函数
4. 下述C++程序有若干处错误,试找出并纠正之。 正确程序为: #include const float PAI=3.; float square(float r) {return PAI*r*r;} float square(float high,float length=0 ) {return high*} float (*fs)(float,float=0); void main() {
5. 引用类型与指针类型有什么区别? 包含总结汇报、旅游景点、外语学习、考试资料、资格考试、人文社科、文档下载、IT计算机、经管营销、专业文献以及Visual_C++面向对象程序设计教程与实验(第二版)清华大学出版社1―8章答案等内容。本文共10页
相关内容搜索《C++面向对象程序设计题解与上机指导》 谭浩强【摘要 书评 试读】图书
iPhone/iPad/Mac
Android手机或平板电脑
请输入您的手机号码,获取Kindle阅读软件的下载链接。
通知出版社:
没有Kindle设备?,或者下载免费 。
出版社: 清华大学出版社; 第1版 (日)
平装: 165页
开本: 16开
26.2 x 19.4 x 1 cm
品牌: 清华大学出版社
ASIN: B0011BT22O
亚马逊热销商品排名:
图书商品里排第360,692名 ()
作者简介
谭浩强教授,我国著名计算机教育专家。1934年生。1958年清华大学毕业。学生时代曾担任清华大学学生会主席、北京市人民代表。他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会会长、教育部全国计算机应用技术证书考试委员会主任委员。
谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了130本计算机著作,此外主编了250多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过了4500万册,是读者最多的科技作家。我国平均每30人、知识分子每1.5人就拥有一本谭浩强的书。(3)他和别人合作编著的《BASIC语言》发行1200多万册,创科技书籍发行量的世界纪录。此外他编著的《C程序设计》发行了600万册,他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过300万人。 在我国学习计算机的人中很少有不知道谭浩强教授的。他善于用容易理解的方法和语言说明复杂的概念。许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。 谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。被国家科委、中国科协表彰为“全国优秀科普工作者”。英国剑桥国际传记中心将他列入“世界名人录”。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位)。他的功绩是把千百万群众带入计算机的大门。
1 星1 星 (0%)0%与其他买家分享您的想法留言者版本: 平装这本书中的习题,全是谭浩强的《c++程序设计》后边的课后作业,所以,该书最后是和谭浩强的《c++程序设计》配套使用,讲解的挺详细的。适合初学者。
留言者版本: 平装|已确认购买这本书还可以吧,不过就是贵了点,感觉。
留言者版本: 平装|已确认购买很满意的一次网购,第一次在卓越买书,价钱便宜不说而且速度快,我用的是货到付款,拿快递的时候还要给钱 我都忘记了 哈哈
留言者版本: 平装|已确认购买主要是光盘我才买的,里面有习题源码
留言者版本: 平装|已确认购买对于已经学过C语言的人来说,是一本学习C++的不错教材,也是学习MFC的前提,个人认为。
留言者版本: 平装|已确认购买送货好快,还给包装了,不愧是卓越。附光盘。建议c++初学者使用。标准的c++语言。
留言者版本: 平装刚看完这本书,感觉还和《C语言程序设计》风格差不多,知识点说的很清楚,也很细心。
留言者版本: 平装|已确认购买应该是要用第二版的,结果用了之后才发现是第一版的,坑爹啊,过期的东西就下架啊!
按发表时间排序
C++面向对象程序设计题解与上机指导 [平装]
库存中仅剩 2 件。
由梦想年华图书专营店直接销售和发货。
查看产品详情页面完毕后,在此处了解返回您感兴趣的页面的方式。
查看产品详情页面完毕后,在此处了解返回您感兴趣的页面的方式。

我要回帖

更多关于 面向对象程序设计 的文章

 

随机推荐