华科面向对象期末试卷

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第1页共10页《面向对象程序设计与JAVA语言》试卷(A卷)2010-2011年度第一学期计算机学院2008级本科生考试形式:闭卷班级__________学号________________姓名_____________题号一二三四五六总分核对人题分201020201515100得分一、单项选择题(每题2分,共20分)1.(C++)假设classA的定义如下:classA{private:inti;public:A(intx=0){i=x;}};如果classB从A派生,则类B必须_______________A.自定义带参数的构造函数B.自定义不带参数的构造函数C.带参数和不带参数的构造函数都要自定义D.不需要自定义构造函数2.(C++)对于类定义structA{virtualvoidf(){}=0;voidg();};structB{voidf()const;virtualvoidg();};下面的叙述正确的是_______________得分评卷人计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第2页共10页A.A::f,A::g,B::f,B::g都是虚函数B.A::f,B::f,B::g是虚函数C.A::f,B::g是虚函数D.只有B::g是虚函数3.(C++)若A和B是二个独立的类,那么类A中哪种形式的数据成员一定是不允许的___________A.A*a;B.B&a;C.Aa;D.Ba;4.(C++)通过___________调用虚函数时,采用动态绑定。A.对象指针或对象引用B.对象名C.对象指针或对象引用加类名限定D.类名5.(C++)关于函数intf(int&x),下列说法中正确的是________A.调用f时实参可以是int或int&型B.调用f时实参可以是constint或constint&C.调用f时实参可以是int或constint型D.调用f时实参可以是int&或constint&6.(C++)关于运算符()的重载,下面说法正确的是________A.只能重载为单目运算符,不能重载为多目运算符B.只能重载为多目运算符,不能重载为单目运算符C.可以被重载为单目和多目运算符D.可以通过类的普通成员函数和全局函数重载计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第3页共10页7.(JAVA)下面哪个表达式可以取得字符串s的最后一个字符A.s.length()B.s.length()-1C.s.charAt(s.length()–1)D.s[s.length()-1]8.(JAVA)已知:interfaceI{}classAimplementsI{}classBextendsA{}classCextendsB{publicstaticvoidmain(String[]args){Bb=newB();_____________}}在横线处添加哪条语句运行时会产生运行时异常A.Aa=b;B.Ii=b;C.Cc=(C)b;D.Bd=(B)((A)b);9.(JAVA)已知:classEx1extendsException{}classEx2extendsException{}如果函数voidf()内部的代码为{inti=newScanner(System.in).nextInt();if(i==1)thrownewEx1();elsethrownewEx2();}计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第4页共10页则下列函数f的声明正确的是____________________A.voidf()throwsEx1;B.voidf()throwsEx2;C.voidf()throwsException;D.voidf()throwEx1,Ex2;10.(JAVA)已知:Strings1=ABC123;Strings2=newString(ABC)+123;System.out.println(s1==s2);System.out.println(s1.equals(s2));则输出结果为____________________A.true,trueB.true,falseC.false,trueD.false,false二.(C++)指出各类的成员及其存取属性(10分)得分评卷人structA{inta;protected:intb;public:intc;};structB:A{intd;protected:inte;public:intf;};classC:A{intg;protected:inth;public:A::a;inti;};classD:protectedB,C{intj;protected:intk;public:intn;};计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第5页共10页三.阅读程序并写出输出结果(本大题分二小题,每小题10分,共20分)3.1.(C++)指出main中每行输出的结果#includeiostreamusingnamespacestd;structA{A(){coutA;}};structB:A{Aa;B():A(){coutB;}};structC:virtualA{C():A(){coutC;}};structD:virtualA,C{Cc;得分评卷人计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第6页共10页D():A(),C(){coutD;}};structE:virtualB,virtualC{E():B(),C(){coutE;}};structF:virtualB,D,virtualE{Dd;Ee;F():B(),D(),E(){coutF;}};intmain(){Aa;cout\n;//输出:Bb;cout\n;//输出:Cc;cout\n;//输出:Dd;cout\n;//输出:Ee;cout\n;//输出:Ff;cout\n;//输出:}3.2(JAVA)指出下面程序的输出结果publicclassTest{publicstaticvoidmain(String[]args){Ab=newB();Bc=((B)b).B();System.out.println(c.equals(b));System.out.println(b.label);System.out.println(c.label);b.f1();((A)c).f2();}static{System.out.println(InitTestClass);}}classA{A(){this(OK);System.out.println(ConstructA);计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第7页共10页}A(Strings){System.out.println(ConstructA:+s);}static{System.out.println(InitAClass);}staticStringlabel=A;voidf1(){System.out.println(InA'sf1());}voidf2(){System.out.println(InA'sf2());}}classBextendsA{B(){this(OK);System.out.println(ConstructB);}B(Strings){super(s);System.out.println(ConstructB:+s);}BB(){System.out.println(Inmemberfunction);returnthis;}static{System.out.println(InitBClass);}staticStringlable=B;voidf2(){System.out.println(InB'sf2());}}计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第8页共10页四、阅读程序并找出程序的语法错误并说明原因(本大题分二小题,每小题10分,共20分)4.1(C++)classA{constinta=0;protected:virtualA(intx,inty,intz){a=x;b=y;c=z;}public:intb;staticvoidf(){}private:intc;virtualdoubleoperatordouble(){returna+b;}}a(1,2,3);voidA::f(){}classB:publicA{public:A::c;virtual~B()constvolatile{}private:inte;public:B(intx):e(x){}friendintoperator+(inti){returnthis-d+i;}virtualvoidg()=0;}b;classC{inti;public:C(intx):i(x){}virtualoperatorint(){returni;}virtualCoperator*(constC&c){returnC(i*c.i);}voidh(){}得分评卷人计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第9页共10页}c(1);intmain(){inti=C(1)*2;void(C::*pf1)()=&C::h;void(A::*pf2)()=&A::f;void(*pf2)()=&A::f;intC::*p=&C::i;}4.2(JAVA)interfaceI1{voidm1();}interfaceI2{voidm2();}classAimplementsI2{privateintvalue;publicA(intx){super(x);value=x;}publicvoidsetValue(intv){value=v;}publicvoidgetValue(){returnvalue;}publicstaticfinalintCOUNT=2;publicstaticintf(Aa){if(a!=null)returna.value;elsereturnCOUNT*value;}publicvoidm1(){thrownewException();}}classBextendsA{privateStrings;publicB(Strings){this.s=s;}publicfinalabstractvoidm2(){value*=2;}}publicclassTest{计算机学院2008级本科《面向对象程序设计与JAVA语言》考试题(闭卷)第10页共10页publicstaticvoidmain(String[]args){B[]bArray=newB[10];for(inti=bArray.length;i=0;i--){bArray[i].m1();}}}五.指出main变量i在每条赋值语句执行后的值(15分)intx=3,y=x+10;structA{staticintx;inty;public:operatorint(){returnx+y;}Aoperator++(int){returnA(x++,y++);}A(inti=::x+2,intj=::y+2):y(j){A::x=i;}int&h(int&x);};int&A::h(int&x){for(inty=1;y!=1&&x50;x+=13,y++)if(x49){x-=31;y-=5;}returnx-=20;}intA::x=12;structB:A{int&z;public:B(inti,intj,intk):z(x),A(i,j){}operatorint(){ret

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功