面向对象考试题_第1页
面向对象考试题_第2页
面向对象考试题_第3页
面向对象考试题_第4页
面向对象考试题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

一、单项选择1。 程序设计中,首先在问题域中识别出假设干个〔〕A。函数B。类C。文件D。过程2。 定义类模版用关键字〔〕A。constB.newC.deleteD.template3。 运算结果类型一样的〔〕9.0/2.09.0/29/2.09/29.0/29/29/29.0/2.04°f1f2同一类两个成员函数,但f1不能调用f2,说明〔〕f1f2都是静态函数f1是静态,f2不是f1不是,f2是静态f1f2都不是静态函数5。 调用一成员函数时,使用动态联编的情况是〔〕A.通过对象调用一虚函数B。通过指针成弓|用调用一虚函数C。通过对象调用静态函数D。通过指针成弓|用调用一静态函数6。 假定一个类构造函数为:“A(intaa=1,intbb=0){a=aa;b=bb;}那么执行"Ax(4)"后,x.a和乂上值分别是:〔〕Ao1,0Bo1,4Co4,0D。4,17。在派生类中能直接访问基类的〔〕入。公有成员,私有成员B。保护成员,私有成员皿不可访问成员,私有成员。。公有成员,保护成员8。 不具访问权限属性的是:A。非类成员B。类成员C。数据成员D。函数成员9。 类定义中private,protected,public出现次数为〔〕A。任意屡次8。至多一次Copublic至少一次D。至少一次10。 C++鼓励程序员将〔〕A。数据操作分别封装8。不同类型数据封装C。数据操作封装在一起。。不同作用操作封装在一起。二填空1。C++中,最好用〔〕代替malloc02。函数模版中template之后尖括号的类型参数冠以保存字〔〕。3。在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()°4。如果重载了运算符+,那么相应运算函数名是〔〕。5。由static修饰的数据成员为该类的所有对象〔〕。6。为了实现多态性,派生类需要重新定义基类中的〔〕。7。编译时多态性通过〔〕函数实现。8。 派生类中实现基类成员初始化,需由派生类的构造函数调用〔〕来完成。9。 C++中访问指令所指对象的成员使用运算符〔〕。10。重载函数在参数类型成参数个数上不同但〔〕一样。三、改错1。类定义有错,正确结果为5+8i#include<iostream.h>#include<math.h>classplexdoublereal;doubleimag;public:plex(doubler=0.0,doublei=0.0):real(r),imag(i){}voidshow(){cout<<real<<(imag>=0?'+':'_')<<fabs(imag)<<'i',friendplex&operator+=(plexc1,plexc2);};plex&operator+=(plexc1,plexc2){c1.real+=c2.real;c1.imag+=c2.imag;returnc1;}voidmain(){plexc(3,5);c+=plex(2,3);c.show();2。改一处错#include<iostream.h>classshapepublic:intarea(){return0;}};classrectangle:publicshape{public:inta,b;voidsetlength(intx,inty){a=x;b=y,intarea(){returna*b,};voidmain()rectangler;r.setlength(3,5);shape*s=r;cout<<r.area()<<endl;cout<<s->area()<<endl;}3。 改一处错classA{inta,b;public:A(intaa=0,intbb){a=aa;b=bb;j};4。 找一处错classLocation{intx,y;protected:intSetZero(intzeroX,intzeroY);public:voidLocattion(intinitX,intinitY);intgetx();intgety();};四、填空1。使输出结果为:5432105.54.43.32.21.1#include<iostream.h>template<classT>voidf(){■;for(inti=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;l}voidmain()inta[5]={1,2,3,4,5};doubled[6]={1.1,2.2,3.3,445.5};f(a,5);f(d,6);for(inti=0;i<5;i++)cout<<a[i]<<"";cout<<endl;for(i=0;i<6;i++)cout<<d[i]<<"";cout<<endl;}2。使类定义完整classline;classbox{private:intcolor;intupx,upy;intlowx,lowy;public:friendintsame_color(linel,);voidset_color(intc){color=c3voiddefine_box(intx1,inty1,intx2,inty2){upx=x1;upy=y1;lowx=x2;lowy=y2;}};classline{private:intcolor;intstartx,starty;intendx,endy;public:intsame_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:; ,};classB:publicA{public:voidprintMe(){cout<<"thisisclassBprinting"<<endl;}};classC:publicB{voidprintMe(){cout<<"thisisclassCprinting"<<endl;}};voidprint(){a.printMe(),voidmain(){Bb;Cc;print(b);print(c);}4。使类完整classA{int*a;intn;public:A():a(0),n(0){}A(intnn){/用NN初始化N //用入指向长度为N的动态数组空间}};5。使类完整classbaseprotected:inta;public:base(){a=0;}base(inti){a=i}base(base&b){a=b.a}};classderived:publicbase{private:intd;public:derived(){d=0^derived(inti,intj):d=j3derived(derived&b):d=b.d,};五、运行结果1、#include<iostream.h>public:voidshow(int);voidshow(float);};voidshownumtype::show(inti){cout<<"thisisanint"<<endl;}voidshownumtype::show(floatf){cout<<"thisisfloat"<<endl;}voidmain(){inta=0;floatf=1.0;shownumtypesnt;snt.show(a);snt.show(f);}2、#include<iostream.h>public:virtualvoidpr(){cout<<"T<<endl;}};classB:publicA{voidpr(){cout<<"2"<<endl;}};voidp1(A&a) {a.pr()3voidp2(Aa){a.pr();|voidmain(){Bb;p1(b);p2(b);}3、#include<iostream.h>classApublic:A(inti=0){a=i;}voidprint(){cout<<a<<','^private:inta;};classB:publicA{public:B(){b1=b2=0;}B(inti){b1=i;b2=0;}B(inti,intj,intk):A(i),b1(j),b2(k){}voidprint(){A::print();cout<<b1<<','<<b2<<endl;}private:intb1,b2;};voidmain()Bd1,d2(5),d3(4,5,6);d1.print();d2.print();d3.print();}4、#include<iostream.h>classgoods{private:staticinttotalweight;intweight;public:goods(intw){weight=w;totalweight+=weight;}goods(goods&gd){weight=gd.weight;totalweight+=weight;}~goods(){totalweight-=weight;}staticintgettotal(){returntotalweight;}};intgoods::totalweight=0;voidmain(){goodsg1(50);cout<<goods::gettotal()<<endl;goodsg2(100);cout<<g2.gettotal()<<endl;}5、#include<iostream.h>template<classT>voidf(T*a,intn)intk;Tt;for(inti=0;i<n-1;i++)k=i;for(intj=i+1;j<n;j++)if(a[k]>a[j])k=j;t=a[i];a[i]=

温馨提示

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

评论

0/150

提交评论