面向对象程序设计复习试题答案正文-学位论文.doc
《面向对象程序设计复习试题答案正文-学位论文.doc》由会员分享,可在线阅读,更多相关《面向对象程序设计复习试题答案正文-学位论文.doc(35页珍藏版)》请在咨信网上搜索。
1、语法扩充1.1选择题在C+中用( D )能够实现将参数值带回。a)数组 b)指针 c)引用 d)上述ABC都可考虑函数原型void test(int a,int b=7,char *ch=*),下面的函数调用中,属于不合法调用的是:( C )A)test(5) B)test(5,8) C)test(6,#) D)test(0,0,*);已知: int m=10;下列表示引用的方法中,正确的是:( C )A)int &Z; B)int &t=10; C)int &X=m; D)float &f=&m;下列不是函数重载所要求的条件是:( D )A)函数名相同 B)参数个数不同 C)参数类型不同 D
2、)函数返回值类型不同在C+中执行以下4条语句后输出rad值为:( C )static int hot=200;int &rad=hot;hot=hot+100;coutradstr;当输入Microsoft Visual Studio 6.0!所得结果是str=(B)。A、 Microsoft Visual Studio 6.0!B、 MicrosoftC、 Microsoft Visual D、 Microsoft Visual Studio 6.0.函数模板(C)。A、代表某一具体函数B、与模板函数是同一个函数C、与某一个具体的数据类型连用D、是模板函数实例化的结果在C+中,关于下列设置参
3、数默认值的描述中,正确的是(C)A、不允许设置参数的默认值B、设置参数默认值只能在定义函数时设置C、设置参数默认值时,应该是先设置右边的再设置左边的D、设置参数默认值时,应该全部参数都设置下列表示引用的方法中,(A)是正确的。已知: k=1000; A、int &x=k; B、char &y;C、int &z=1000; D、float &t=&k;有如下模板定义:template T fun(T x,T y)return x*x+y*y;在下列对fun的调用中,错误的是:( C )A)fun(2,8) B)fun(2.0,8.2) C)fun(2.3,8) D)fun (2,8)通常情况下,
4、函数模板中的类型参数个数不能是( A )A)0个 B)1个 C)2个 D)3个1.2填空题1、 假定有如下定义:int x;,若要将整型变量y定义为变量x的引用,则应使用的定义语句是_int &y=x;_。具有相同函数名但具有不同参数表的函数称为 重载函数。 2、 在进行函数调用时,将把参数的值传递给值参数,把参数的_地址_传递给引用参数。 3、 执行完下列三条语句后,指针变量c指向_b_。Int a,b,*c=&a;int *&p=c;p=&b; 4、 假设有如下函数定义:void Fun(int x,int y=100);则语旬Fun(5)语句_ Fun(5,100)_等价。 5、 在一个
5、C+程序中,每个变量都必须遵循_先定义后使用_的原则。 6、 下面是一个求数组元素之和的程序。主程序中定义并初始化了一个数组,然后计算该数组各元素之和,并输出结果。函数TotalSum 计算数组元素之和。请完成下列程序。#include _ intTotalsum(intarray,intlen)_ ;void main()int a5=2,3,6,8,10;_int Total _;Total =Totalsum(a,5);coutSum of array:Totalendl;int Totalsum(int array,int len)_int sum =0_ ;for(int I=0;_
6、Ilen_ ;I+)_ sum += arrayI_ ;return sum; 7、 下面的函数Fun未使用中间变量实现了对两个数的交换,请完成下列函数的定义。Void Fun (int &x,int &y)x+ = y;y =_x-y_ ;_x = x - y_ ; 8、 定义一个函数时,若只允许函数体访问形参的值而不允许修改它的值,则应把该形参声明为_常量_,即在该形参声明的前面加上_const_关键字进行修饰。 9、 在一个函数的定义或声明前加上关键字_inline_时,该函数就声明为内联函数。 1.3简答题A、.内联函数的含义在函数前加上关键字inline说明了一个内联函数,这使一个函
7、数在程序行里进行代码扩展而不被调用。这样的好处是减少了函数调用的开销,产生较快的执行速度。但是由于重复编码会产生较长代码,所以内联函数通常都非常小。如果一个函数在类说明中定义,则将自动转换成内联函数而无需用inline说明。B、.函数重载的含义在同一作用域范围内,相同的函数名通过不同的参数类型或参数个数可以定义几个函数,编译时编译器能够识别实参的个数和类型来决定该调用哪个具体函数。需要注意的是,如果两个函数仅仅返回类型不同,则编译时将会出错,因为返回类型不足以提供足够的信息以使编译程序判断该使用哪个函数。所以函数重载时必须是参数类型或者数量不同。C、引用与指针的区别D、内联函数使用上的限制E、
8、定义带默认参数值函数的规则F、指针与常量的关系1.4程序阅读题1)写出下列程序的运行结果。#include void main()int x;int &p=x;x=10;p=x+10;coutx,pendl;结果:20,202)写出下列程序的运行结果。#include int f(int a)return +a;int g(int &a)return +a;void main()int m=0,n=0;m+=f(g(m);n+=f(f(n);coutm=mendl;coutn=nendl;结果:m=3n=23) 写出下列程序的运行结果。#include void Fun()int num=20
9、;coutThe Funs num isnumendl;void main()int num=10;coutThe mains num is numendl;Fun();int num=30;coutThe Fields num is numendl;coutThe mains num is num静态成员函数没有( B )。A返回值 B. this指针 C. 指针参数 D. 返回类型在下列关键字中,用于说明类中公有成员的是( A )。Apublic; Bprivate; Cprotected; Dfriend不是构造函数的特征( D )。A构造函数的函数名与类名相同; B. 构造函数可以重载
10、;C. 构造函数可以设置缺省参数; D. 构造函数必须指定类型说明。是析构函数的特征( A )。A一个类中只能定义一个析构函数; B. 析构函数名与类名不同;C. 析构函数的定义只能在类体内; D. 析构函数可以有一个或多个参数。关于成员函数特征的下述描述中,( A )是错误的。A成员函数一定是内联函数; B. 成员函数可以重载;C. 成员函数可以设置参数的缺省值; D. 成员函数可以是静态的。下述静态数据成员的特性中,( D )是错误的。A 说明静态数据成员时前边要加修饰符static;B 静态数据成员要在类体外进行初始化;C引用静态数据成员时,要在静态数据成员名前加和作用域运算符;D静态数
11、据成员不是所有对象所共用的。2.2填空题1、 在撤销类的对象时,C+程序将自动调用该对象的_析构_函数。 2、 类中的构造函数是一个特殊的成员函数,它由类的对象_自动_调用,它的作用是_为对象分配内存,数据成员初始化_。 3、 对类中的成员函数和属性的访问是通过_public_、_protected_和_private_这3个关键字来控制的。 4、 _delete_运算符删除new运算符所动态分配的内存空间。 5、 假定用户没有给一个名为MyClass的类定义析构函数,则系统为其定义的默认析构函数形式为_MyClass()_。 6、 类中构造函数有_一个或多_个,析构函数有_一_个。 7、 类
12、是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的_数据成员_ ,共同行为被描述为类中的_成员函数_。 8、 若要把类FriendClass定义为类MyClass的友元类,则应在类MyClass的定义中加入语句_friend class FriendClass;_。 9、 在结构定义中,数据和成员函数默认权限是_public_。在类定义中,数据和成员函数默认权限是_private_。 10、 在下面程序的横线处填上适当的语句,使类型该程序执行结果为10。#include class MyClasspub1ic:_ MyClass ( int a ) _x = a; _/为x置值
13、_int GetNum() return x; _ /取x值private:int x; ;void main()Myclass my(10);Coutmy.GetNum()end; 11、 完成下面的类定义。Class MyClasspublic:MyClass()x=0;_friend_int GetNum(_MyClass _my);private:int x; ;int GetNum(_MyClass _my)_return my.x; 12、 _new_运算符对指定类型对象动态分配内存并返回该类型的_指针_。 13、 若要把函数void FriendFunction()定义为类MyC
14、lass的友元函数,则应在类MyClass的定义中加入语句_friend void FriendFunction();_。 14、 类的具体表现是通过定义_对象_来操作的。 15、 在定义类的对象时,C+程序将自动调用该对象的_构造_函数初始化对象自身。 16、 一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为_private_权限,而把成员函数(方法)定义为_public_权限。 17、 在类中定义和实现的函数称为_内联函数_。 18、 非成员函数应声明为类的_友元函数_才能访问这个类的private成员。 2.3简答题A、类的含义B、构造函数的特点C、拷贝构造函数的调用D、析
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 复习 试题答案 正文 学位 论文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。