00410月《面向对象程序设计》试题及答案_第1页
00410月《面向对象程序设计》试题及答案_第2页
00410月《面向对象程序设计》试题及答案_第3页
00410月《面向对象程序设计》试题及答案_第4页
00410月《面向对象程序设计》试题及答案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、全国2004年10月试题及答案面向对象程序设计试题课程代码:02328一、单选1、程序设计中,首先在问题域中识别出若干个()A.函数B.类C文件D.过程2、定义类模板用关键字()A. constB.newC.deleteD.template3、运算结果类型相同的()A. 9.0/2.09.0/2B. 9/2.09/2C. 9.0/29/2D. 9/29.0/2.04、已知flf2同一类两个成员函数,但fl不能调用f2,说明()a. flf2都是静态函数b. fl是静态,f2不是c. fl不是,f2是静态d. f1f2都不是静态函数5、调用一成员函数时,使用动态联编的情况是()A. 通过对象调用

2、一虚函数B.通过指针或引用调用一虚函数C.通过对象调用静态函数D.通过指针或引用调用一静态函数6、假定一个类构造函数为:“A(intaa=1,intbb=0)a=aa;b=bb;则执行"Ax(4)"后,x.a和x.b值分别是:()A.l,0B.l,4C.4,0D.4,l7、在派生类中能直接访问基类的()A. 公有成员,私有成员B. 保护成员,私有成员C. 不可访问成员,私有成员D. 公有成员,保护成员8、不具访问权限属性的是:()A.非类成员B.类成员C.数据成员D.函数成员9、类定义中private,protected,public出现次数为()A.任意多次B.至多一次C

3、.public至少一次D.至少一次10、C+鼓励程序员将()A. 数据操作分别封装B. 不同类型数据封装C. 数据操作封装在一起D. 不同作用操作封装在一起答案:BDABBCDAAC二、填空1、C+中,最好用()代替malloc2、函数模板中template之后尖括号的类型参数冠以保留字()3、在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()4、如果重载了运算符,则相应运算函数名是()5、由static修饰的数据成员为该类的所有对象()6、为了实现多态性,派生类需要重新定义基类中的()7、编译时多态性通过()函数实现。8、派生类中实现基类成员初始化,需由派生类的

4、构造函数调用()来完成。9、C+中访问指令所指对象的成员使用运算符()10、重载函数在参数类型或参数个数上不同但()相同。答案:lnew2class3hex4operator+5共享6同名函数7重载(函数重载和运算符重载)8参数表9.10函数名三、改错1、类定义有错,正确结果为5+8i#include<iostream.h>#include<math.h>classcomplexdoublereal;doubleimag;public:complex(doubler=0.0,doublei=0.0):real(r),imag(i);voidshow()cout<&

5、lt;<(imag>=0?'+':'-')<<fabs(imag)<<'i'friendcomplex&operator+=(complexc1,complexc2)一这里应改为:friendcomplex&operator+=(complex&c1,complex&c2)cl.real+=c2.real;cl.imag+=c2.imag;returncl;voidmain()complexc(3,5);c+=complex(2,3);c.show();2、改一处错#includ

6、e<iostream.h>classshapepublic:intarea()return0;classrectangle:publicshapepublic:inta,b;voidsetlength(intx,inty)a=x;b=y;intarea()returna*b;voidmain()rectangler;r.setlength(3,5);shape*s=r;应改为:shape*s=&r;cout<<r.area()<<endl;cout<<s.area()<<endl;3、改一处错#include<iostr

7、eam.h>classCUenumint,floattype;union&#118alueinti&#118alue;floadtf&#118alue;共用体在这里没有定义变量就使用了。public:CU(intx):type(int),i&#118alue(x)CU(floaty):type(float),f&#118alue(y)voidprint()if(type=int)cout<<i&#118alue;elsecoutv<f&#118alue;voidmain()CUfCU(floadt)5.6);CUi

8、CU(8)fCU.print();cout<<endl;iCU.print();4、改一处错classAinta,b;public:A(intaa=0,intbb)a=aa;b=bb;默认参数值应该从右向左定义。5、找一处错classLocationintx,y;protected:intSetZero(intzeroX,intXeroY)private:intlength,height;public:voidLocattion(intinitX,intinitY);此处不应该有返回类型intgetx();intgety();四、程序填空1、使输出结果为:5432105.54.43

9、.32.21.1#include<iostream.h>template<classt>voidf(</classt>Ta,intn)Tt;for(inti=0;it=ai;ai=an-1-i;an-1-i=t;voidmaininta5=1,2,3,4,5;doublied6=1.1,2.2,3.3,4.4,5.5f(a,5);f(d,6);for(inti=0;i<5;i+)cout<i<<""cout<<endl;for(i=0;i<6;i+)cout<i<<"&

10、quot;cout<<endl;2、使类定义完整classline;classboxprivate:intcolor;intupx,upy;intlowx,lowy;public:friendintsame_color(linel,boxb);voidset_color(intc)color=c;voiddefine_box(intx1,inty1,intx2,inty2)upx=x1;upy=y1;lowx=x2;lowy=y2;classlineprivate:intcolor;intstartx,starty;intendx,endy;public:friendintsame

11、_color(linel,boxb);voidset_color(intC)color=c;voiddefine_line(intx1,inty1,intx2,inty2)startx=x1;starty=y1;endx=x2;endy=y2;intsame_color(linel,boxb)if(l.color=b.color)returnl;return0;3、A为抽象类,输出为:thisisclassBprintingthisisclassCprinting#include<iostream.h>classApublic:virtulevoidprintMe()=0;clas

12、sB:publicApublic:voidprintMe()cout<<"thisisclassBprinting"<<endl;classC:publicBvoidprintMe()cout<<"thisisclassCprinting"<<endls;voidprint(A&a)a.printMe();voidmain()Bb;Cc;print(b);print(c);4、使类完整classAint*a;intn;public:A():a(0),n(0)A(intnn)n=nn/用NN初始化Na

13、=newintn用A指向长度为N的动态数组空间;5、使类完整classbaseprotected:inta;public:base()a=0;base(inti)a=ibase(base&b)a=b.a;classderived:publicbaseprivate:intd;public:derived()d=0;derived(inti,intj):base(i)d=j;derived(derived&b):base(b)d=b.d;五、程序分析,给出输出结果1.#include<iostream.h>template<classt>voidf(T*a

14、,intn)intk;Tt;for(inti=0;ik=i;for(intj=i+1;j<n;j+)if(ak>aj)k=j;t=ai;ai=ak;ak=t;;voidmain()doubled5=12.3,4.5,-23.4,-90.4,0;chara5='B','F','A','X','E'f(a,5);f(d,5);for(inti=0;i<5;i+)cout<i<<""<i<<endl;</classt>-90.4A-23

15、.4B0E4.5F12.3X2.#include<iomanip.h>voidmain()cout<<setprecision(4)<<123456<<endl<<123456.567;1234561.235e+0053.#include<iostream.h>classgoodsprivate:staticinttotalweight;intweight;public:goods(intw)weight=w;totalweight+=weight;goods(goods&gd)weight=gd.weight;t

16、otalweight+=weight;goods()totalweight-=weight;staticintgettotal()returntotalweight;;intgoods:totalweight=0;voidmain()goodsg1(50);cout<<goods:gettotal()<<endl;goodsg2(100);cout<<<endl;501504.#include<iostream.h>classApublic:A(inti=0)a=i;voidprint()cout<<<','

17、;private:inta;classB:publicApublic:B()b1=b2=0;B(inti)b1=i;b2=0;B(inti,intj,intk):A(i),b1(j),b2(k)voidprint()A:print();cout<<<','<<<endl;private:intb1,b2;voidmain()Bd1,d2(5),d3(4,5,6);d1.print();d2.print();d3.print();0,0,00,5,04,5,65.#include<iostream.h>classApublic:virtualvoidpr()cout<<"1"<<endl;classB:publicAvoidpr()cout<<"2"<<endl;voidp1(A&a)a.pr();voidp2(Aa)a.pr();voidmain()Bb;p1(b);p2(b);216.#include<iostream.h>classshownumtyp

温馨提示

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

最新文档

评论

0/150

提交评论