您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 中科大软件学院C++考试试卷
学号___________________姓名________________成绩_______________1/7《面向对象编程技术》试卷注:1)请将答案写在答题纸上,写在试卷上不算分。答题纸在试卷的最后页。2)交卷时,试卷和答题纸一起交。一、单选题(每小题1.5分,共30分)1.C++中,以下有关构造函数的叙述不正确的是______。A.构造函数名必须和类名一致B.构造函数在定义对象时自动执行C.构造函数无任何函数类型D.在一个类中构造函数有且仅有一个2.以下叙述不正确的是______。A.在类的定义中,通常是成员变量描述对象的属性;用成员函数描述对象的行为B.类的一个成员只能具有一种访问控制属性C.构造函数和析构函数是特殊的成员函数,因此不允许重载D.通过对象只能访问类的公有成员3.以下关于虚函数的叙述不正确的是______。A.虚函数属于成员函数B.虚函数不允许说明成静态的C.凡是虚函数必须用virtual说明D.虚函数可以被继承4.cout是I0流库预定义的______。A.类B.对象C.包含文件D.常量5.面向对象程序设计中的数据隐藏指的是______。A.输入数据必须输入保密口令B.数据经过加密处理C.对象内部数据结构上建有防火墙D.对象内部数据结构的不可访问性6.拷贝(复制)构造函数的作用是______。A.进行数据类型的转换B.用对象调用成员函数C.用对象初始化对象D.用一般类型的数据初始化对象7.下列不是描述类的成员函数的是______。A.构造函数B.析构函数C.友元函数D.拷贝构造函数8.如果类A被说明成类B的友元,则______。A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元9.对于任何一个类,析构函数最多有______个。A.0B.1C.2D.n10.下列特性中,C与C++共有的是______。A.继承B.封装C.多态性D.函数定义不能嵌套11.在公有继承的情况下,基类公有和保护成员在派生类中的访问权限______。A.受限制B.保持不变C.受保护D.不受保护12.通过______调用虚函数时,采用动态束定。A.对象指针B.对象名C.成员名限定D.派生类名13.C++类体系中,不能被派生类继承的有______。A.成员转换函数B.构造函数C.虚函数D.静态成员函数14.假定ab为一个类,则执行abx;语句时将自动调用该类的______。A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数15.静态成员函数不能说明为______。A.整型函数B.浮点函数C.虚函数D.字符型函数16.在C++中,数据封装要解决的问题是______。A.数据规范化排列B.数据高速转换C.避免数据丢失D.保证数据完整性学号___________________姓名________________成绩_______________2/717.关于友元函数的描述中,错误的是________。A.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend18.实现运行时的多态性用______。A.重载函数B.构造函数C.析构函数D.虚函数19.关于new和new[]运算符的下列描述中,______是错误的。A.它可以用来动态创建对象和对象数组;B.使用它创建的对象或对象数组可以使用运算符delete和delete[]删除;C.使用它创建对象时要调用构造函数;D.使用它创建对象数组时必须指定初始值;20.下列关于虚函数的说明中,正确的是______。A.从虚基类继承的函数都是虚函数。B.虚函数不得是静态成员函数。C.只能通过指针和引用调用虚函数。D.抽象类中的成员函数都是虚函数。二、写出下列程序的运行结果,如您觉得有错,写明出错原因;如你觉得无输出,请明确写出。(每小题5分,共40分)1.#includeiostreamusingnamespacestd;classA{protected:inta;public:A(intp1){a=p1;}intinc1(void){return++a;}};classB1:publicA{protected:intb1;public:B1(intp1,intp2):A(p1){b1=p2;}intinc1(void){returnA::inc1();}voiddisplay(void){couta=ab1=b1\n;}};classB2:publicA{private:intb2;public:B2(intp1,intp3):A(p1){b2=p3;}intinc1(void){A::inc1();A::inc1();returnA::inc1();}voiddisplay(void){couta=ab2=b2\n;}};classC:privateB1,publicB2{private:intc;public:C(intp11,intp12,intp21,intp22,intp):B1(p11,p12),B2(p21,p22){c=p;}intinc1(void){returnB2::inc1();}voiddisplay(void){B1::display();B2::display();coutc=c\n;}};intmain(void){Cd(1,2,3,4,5);cout\n;d.display();cout\n;d.inc1();d.display();return0;}学号___________________姓名________________成绩_______________3/72.#includeiostreamusingnamespacestd;templateclassTclassTclass{Tx,y;public:Tclass(Ta,Tb):x(a){y=b;}Tclass(Ta){y=(T)0,x=a;}voidpr(){charc;c=(y=(T)0)?'+':'-';coutxc(y(T)0?y:-y)iendl;}};intmain(){Tclassdoublea(10.5,-5.8);a.pr();Tclassintb(10);b.pr();return0;}3.#includefstream#includeiostream#includevectorusingnamespacestd;intmain(){vectorvectorintdatas;Ifstreamifs(test.dat);intm,n;ifsmn;inti,j;for(i=0;im;i++){vectorintV;for(j=0;jn;j++){intx;ifsx;V.push_back(x);}datas.push_back(V);}for(i=0;im;i++){for(j=0;jn;j++){coutdatas[i][j];}coutendl;}}文件Test.dat内容如下:341234567891011124.#includeiostreamusingnamespacestd;classCAT{public:CAT(){itsAge=newint;*itsAge=5;}~CAT(){deleteitsAge;itsAge=NULL;}intGetAge(){return*itsAge;}voidSetAge(intage){*itsAge=age;}protected:int*itsAge;};intmain(){CATa;couta'sage:a.GetAge()endl;a.SetAge(6);CATb(a);couta'sage:a.GetAge()endl;coutb'sage:b.GetAge()endl;a.SetAge(7);couta'sage:a.GetAge()endl;coutb'sage:b.GetAge()endl;}学号___________________姓名________________成绩_______________4/75.#includeiostreamusingnamespacestd;#includestringclassBase{private:charmsg[30];protected:intn;public:Base(chars[],intm=0):n(m){strcpy(msg,s);}voidoutput(void){coutnendlmsgendl;}};classDerived1:publicBase{private:intn;public:Derived1(intm=1):Base(Base,m-1){n=m;}voidoutput(void){coutnendl;Base::output();}};classDerived2:publicDerived1{private:intn;public:Derived2(intm=2):Derived1(m-1){n=m;}voidoutput(void){coutnendl;Derived1::output();}};intmain(){BaseB(BaseClass,1);Derived2D;B.output();D.output();}6.#includeiostreamusingnamespacestd;classRr{public:Rr(inta){data=a;}operatorint(){returndata;}operatordouble(){returndouble(data);}private:intdata;};intmain(){Rrr1(2),r2(4);intx=int(r1)+int(r2);doubley=double(r1)/double(r2);coutx=x,y=yendl;return0;}7.#includeiostreamusingnamespacestd;classsz{intintT1;public:sz(){intT1=5;}voidSet1(intt){intT1=t;}intGet1(){returnintT1;}};classsz2{public:sz2(){mszT=newsz();mszT2=newsz();}sz*f1(){mszT2=newsz();mszT2-Set1(1);returnmszT2;}sz*f2()const{returnmszT;}constsz*f3(){returnmszT;}constsz*f4()const{returnmszT2;}private:sz*mszT;sz*mszT2;};intmain(){szt;sz2f;学号___________________姓名________________成绩_______________5/7sz*s1=f.f1();couts1-Get1()endl;s1-Set1(10);couts1-Get1()endl;s1=f.f2();couts1-Get1()endl;s1-Set1(20);couts1-Get1()endl;constsz*s2=f.f3();t=*s2;coutt.Get1()endl;s2=f.f1();t=*s2;coutt.Get1()endl;sz*consts3=f.f1();t=*s3;coutt.Get1()endl;s3-Set1(30);couts3-Get1()
本文标题:中科大软件学院C++考试试卷
链接地址:https://www.777doc.com/doc-1858224 .html