面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段答案在最后一页_第1页
面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段答案在最后一页_第2页
面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段答案在最后一页_第3页
面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段答案在最后一页_第4页
面向对象的程序设计第1阶段练习题江大考试题库及答案一科共有三个阶段,这是其中一个阶段答案在最后一页_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第#页/共18页intmain()intmain()第5页/共18页当一个函数调用出现在函数定义之前时,必须先用函数原型对函数进行。(1分)结构化程序设计方法中的模块由、和3种基本结构组成。(1分)面向对象程序设计方法具有、、和等特点。(1分)六简答题(共8题,总分值31分)什么是this指针?它的主要作用是什么?(4分)结构化程序设计方法与面向对象程序设计方法在对待数据结构和算法关系上有什么不同?(4分)内联函数有什么作用?它有哪些特点?(4分)引用有何用处?(4分)什么叫做拷贝构造函数?拷贝构造函数何时被调用?(4分)类定义的一般形式是什么?其成员有哪几种访问权限?(4分)重载函数时通过什么来区分?(3分)什么是面向对象程序设计方法?它有哪些优点?(4分)七综合题(共5题,总分值25分)重新编写程序分析题(4)的程序,设计一个静态成员函数,用来输出程序分析题(4)中静态数据成员的值。(5分)#includeViostream>usingnamespacestd;intnum=50;int&ref=num;ref=ref+10;coutVV"num="VVnumVVendl;num=num+40;coutVV"ref="VVrefVVendl;return0;}(5分)47.#include<iostream>usingnamespacestd;classXx{private:intnum;public:Xx(intx){num=x;}//构造函数~Xx(){cout<<"dst"<<num<<endl;}//析构函数};intmain(){Xxw(5);//语句1cout<<"Exitmain"<<endl;//语句2return0;}(5分)48.写出一个完整的C++程序,使用系统函数pow(x,y)计算xy的值,注意包含头文件cmath。(5分)49.#includeViostream〉usingnamespacestd;classBook{public:Book(intw);staticintsumnum;private:intnum;};Book::Book(intw){num=w;sumnum-=w;}intBook::sumnum=120;//语句1intmain(){Bookb1(20);//语句2Bookb2(70);//语句3coutVVBook::sumnumVVendl;return0;}(5分)一单选题(共9题,总分值9分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)答案:C解析过程:与普通函数不同的是,成员函数是属于某个类的。成员函数的实现,可以放在类体内,也可以放在类体外。在类体外实现的成员函数不再是内联函数。答案:A解析过程:答案:B解析过程:声明指针是不会调用构造函数的。答案:A解析过程:友元的作用主要是为了提高效率和方便编程,但友元破坏了类的封装性和隐蔽性,使用时要权衡利弊。答案:D解析过程:对重载的函数来说,编译系统将根据函数参数的类型和个数来判断使用哪一个函数,所以重载函数参数的个数、类型、顺序不能都相同。答案:D解析过程:友元函数是一个放在类中的普通函数,它没有this指针。答案:C解析过程:&答案:D解析过程:答案:C解析过程:二多选题(共4题,总分值4分,下列选项中至少有2个或2个以上选项符合题目要求,请在答题卡上正确填涂。)答案:A,D解析过程:对象是计算机内存中的一块区域。在对象中,不但存有数据,而且存有代码,使得每个对象在功能上相互之间保持相对独立。对象之间存在各种联系,但它们之间只能通过消息进行通信。答案:C,D解析过程:this指针是一个局部量,局部于某个对象,而静态成员函数是属于整个类而不是某个对象,它没有this指针。静态成员函数和非静态成员函数均可操作静态数据成员。答案:B,C解析过程:内联函数主要是解决程序的运行效率问题。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换,进而减少了程序运行的时间,但会增加程序代码的大小。它是以空间换取时间,因此内联函数适用于功能不太复杂,但要求被频繁调用的函数。答案:B,C解析过程:类是一种用户自定义的数据类型,类中成员均具有一种访问权限。关键字public、protected和private以后的成员的访问权限分别是公有、保护和私有的,所有成员默认定义为private的。私有成员是被隐藏的数据,只有该类的成员函数或友元函数才可以访问它。三判断题(共8题,总分值8分正确的填涂“A”,错误的填涂“B”。)答案:F解析过程:Java语言是一个纯正的面向对象的程序设计语言。答案:T解析过程:答案:F解析过程:C++语言不仅支持面向对象技术的抽象性、封装性、继承性等特性,而且支持多态性。答案:F解析过程:当一个对象发出消息时,由于接收对象的类型可能不同,所以,它们可能做出不同的反应。这样,一个消息可以产生不同的响应效果,这种现象叫做多态。答案:T解析过程:答案:F解析过程:如果用const定义的是一个整型常量,则类型说明符int可以省略。答案:T解析过程:答案:T解析过程:四名词解释题(共4题,总分值12分)答案:消息是面向对象程序设计用来描述对象之间通信的机制。一个消息就是一个对象要求另一个对象实施某种操作的一个请求。解析过程:答案:面向对象方法中的抽象是指对具体问题(对象)进行概括,抽出一类对象的公共性质并加以描述的过程。解析过程:答案:内联函数是使用inline关键字声明的函数。解析过程:答案:重载函数指在同一个作用域内名字相同而参数不同的函数。重载函数通常用来对具有相似行为而数据类型或数据个数不同的操作提供一个通用的名称。解析过程:五填空题(共11题,总分值11分)答案://,/*……*/解析过程:答案:封装性,静态成员解析过程:答案:delete解析过程:答案:友元函数,友元类解析过程:答案:11解析过程:创建10个数组元素需调用构造函数10次,创建对象b需调用构造函数1次,所以系统自动调用该类构造函数的总次数为11。答案:x=10,y=10;x=100,y=100解析过程:答案:friendclassA解析过程:答案:地址值,类型,值解析过程:答案:声明解析过程:答案:顺序,选择,循环解析过程:答案:抽象性,封装性,继承性,多态性解析过程:六简答题(共8题,总分值31分)答案:this指针是C++语言为成员函数提供的一个隐含对象指针,它不能被显式声明。this指针是一个局部量,局部于某个对象。不同的对象调用同一个成员函数时,编译器根据this指针来确定应该引用哪一个对象的数据成员。解析过程:答案:结构化程序设计方法中,把数据结构和算法分离为相互独立的实体;而在面向对象程序设计中,数据结构和算法封装在一起,结合成一个独立的单位,即对象,并尽可能隐蔽对象的内部细节。对象的私有属性只能由这个对象的行为来读取和修改,与外部的联系通过公有行为充当外部接口。解析过程:答案:内联函数是使用inline关键字声明的函数。在程序编译时,编译系统将程序中出现内联函数调用的地方用函数体进行替换,进而减少了程序运行的时间。使用内联函数应注意以下几点。♦递归函数不能定义为内联函数。♦内联函数一般适合于不含有switch和while等复杂的结构且只有1~5条语句的小函数,否则编译系统将该函数视为普通函数。内联函数只能先定义后使用,否则编译系统也将该函数视为普通函数。对内联函数也不能进行异常接口声明。解析过程:答案:除了独立引用外,在C++程序中,引用的主要用途是用作函数参数和函数的返回值。解析过程:答案:拷贝构造函数是一种特殊的构造函数,它的作用是用一个已经存在的对象去初始化另一个对象。为了保证所引用的对象不被修改,通常把引用参数声明为const参数。在以下3种情况下,拷贝构造函数都会被自动调用:当用类的一个对象去初始化该类的另一个对象时;当函数的形参是类的对象,进行形参和实参结合时;当函数的返回值是类的对象,函数执行完成返回调用者时。解析过程:答案:定义类一般形式为:class类名{public:V公有数据和函数〉protected:V保护数据和函数〉private:V私有数据和函数〉};访问权限共有3种:分别是公有(public)、保护(protected)和私有(private)。解析过程:答案:编译系统将根据函数参数的类型和个数来判断使用哪一个函数。解析过程:答案:面向对象的程序设计方法中,将程序设计为一组相互协作的对象而不是一组相互协作的函数。在程序中,属性用数据表示,用来描述对象静态特征;行为用程序代码实现,用来描述对象动态特征。可见,在面向对象的程序设计方法中,对象是数据结构和算法的封装体。对象之间存在各种联系,它们之间通过消息进行通信。程序可表示为:程序=对象+消息在面向对象程序设计中应着重于类的设计。类正是面向对象语言的基本程序模块,通过类的设计来完成实体的建模任务。类通过一个简单的外部接口与外界发生关系。一个类中的操作不会处理到另一个类中的数据,这样程序模块的独立性、数据的安全性就有了良好的保障。程序的执行取决于事件发生的顺序,由顺序产生的消息来驱动程序的执行。不必预先确定消息产生的顺序,更符合客观世界的实际。并且面向对象程序设计方法提供了软件重用、解决大问题和复杂问题的有效途径,具有抽象性、封装性、继承性和多态性等特点解析过程:七综合题(共5题,总分值25分)答案://xt3_2.cpp#includeViostream〉usingnamespacestd;classBook{public:Book(intw);staticintgetsum(){returnsumnum;}private:intnum;staticintsumnum;};Book::Book(intw){num=w;sumnum-=w;}intBook::sumnum=120;intmain(){Bookb1(20);Bookb2(70);coutVVBook::getsum()VVendl;return0;}【输出结果】30解析过程:46.答案:【输出结果】num=60ref=100解析过程:程序首先定义一个int类型的对象num,并给它赋初始值50。然后又定义了一个int类型的引用ref,并将它和num相联系。这样,无论是对num还是对ref进行操作,实际上都是对那个一开始放着50的物理单元的内容进行操作。47.答案:【输出结果】Exitmaindst5解析过程:①程序声明了一个对象w。②程序首先执行语句1,创建对象w,调用构造函数,num得到初值5。程序接着执行语句2,输出第1行结果。当程序结束时,释放对象w,析构函数被调用,输出第2行结果。48.答案:【参考程序】//xt2_1.cpp#includeViostream〉#includeVcmath〉usingnamespacestd;intmain(){floatx,y;coutVV"pleaseinput2floatstox,y:";cin〉〉x〉〉y;floatz=pow(x,y);coutVV"pow("VVxVV","<<y<<")="VVzVVendl;retur

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论