2023年《面向对象程序设计C++》期末考试试卷_第1页
2023年《面向对象程序设计C++》期末考试试卷_第2页
2023年《面向对象程序设计C++》期末考试试卷_第3页
2023年《面向对象程序设计C++》期末考试试卷_第4页
2023年《面向对象程序设计C++》期末考试试卷_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。)01、下列关于C++函数的叙述中,对的的是()。A)每个函数至少要具有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是()。A)一个类只能有一个对象B)对象是类的具体实例C)类是对某一类对象的抽象D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运营时多态性的是()。A)内联函数B)重载函数C)模板函数D)虚函数04、下列关于运算符重载的叙述中,对的的是()。A)通过运算符重载,可以定义新的运算符B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+D)重载二元运算符时,必须声明两个形参05、对于语句cout<<x<<endl;错误的是描述是()。A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是()。classMyBASE{private:intk;public:voidset(intn){k=n;}intget()const{returnk;}};classMyDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}};A)4B)3C)207、已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const;,下列关于这个函数的叙述中,错误的是()。A)这是运算符-的重载运算符函数B)这个函数所重载的运算符是一个一元运算符C)这是一个成员函数D)这个函数不改变类的任何数据成员的值08、执行如下的程序段后,输出结果是()。cout.fill('*');cout.width(6);cout.fill('#');cout<<123<<endl;A)###123B)123###C)***123D)123***09、在下列函数原型中,可以作为类AA构造函数的是()。A)voidAA(int);B)intAA();C)AA(int)const;D)AA(int);10、下面四个选项中,()是用来声明虚函数的。A)virtualB)publicC)includeD)usingnamespace11、实现运营时的多态性要使用()。A)重载函数B)构造函数C)析构函数D)虚函数12、要实现动态联编,必须通过()调用虚函数。A)对象指针B)成员名限定C)对象名D)派生类名13、以下()成员函数表达纯虚函数。A)virtualintvf(int);B)voidvf(int)=0;C)virtualvoidvf()=0;D)virtualvoidvf(int){}14、有如下类声明:classXA{private:intx;public:XA(intn){x=n;}};classXB:publicXA{private:inty;public:XB(inta,intb);};在构造函数XB的下列定义中,对的的是()。A)XB::XB(inta,intb):x(a),y(b){}B)XB::XB(inta,intb):XA(a),y(b){}C)XB::XB(inta,intb):x(a),XB(b){}D)XB::XB(inta,intb):XA(a),XB(b){}15、在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。则operator+有个参数,operator*有参数。()A)2、2B)2、1C)1、2D)1、116、应在下列程序划线处填入的对的语句是()。classBase{public:voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{voidfun(){//显示调用基类的函数fun()cout<<"Derived::fun"<<endl;}};A)fun();B)Base.fun();C)Base::fun();D)Base->fun();二、填空题(每空2分,共20分。)17、面向对象程序设计有四个重要特点,即抽象、封装、____和____。18、非成员函数应声明为类的____函数才干访问这个类的private成员。19、派生类中的成员不能直接访问基类中的____成员。20、在用class定义一个类时,数据成员和成员函数的默认访问权限是____。21、运算符重载函数也许是类的____函数,也可以是类的____函数,还可以是普通函数。22、用流对象的成员函数控制输出格式时,用于设立字段宽度的流成员函数的名称是__,与之作用相同的控制符名称是____。23、具有纯虚函数的类称为____。三、程序的填空、程序的执行(每题4分,共20分。)24、以下程序是定义一个计数器类counter,对其重载运算符“+”,请填空。classcounter{private:intn;public:counter(){n=0;}counter(inti){n=i;}____//运算符重载函数{countert;t.n=n+c.n;returnt;}voiddisp(){cout<<"n="<<n<<endl;}};voidmain(){counterc1(5),c2(10),c3;c3=c1+c2;c1.disp();c2.disp();c3.disp();}25、下列程序的输出结果为2,请将程序补充完整。classBase{public:____voidfun(){cout<<1;}};classDerived:publicBase{public:voidfun(){cout<<2;}};intmain(){Base*p=newDerived;p->fun();deletep;return0;}26、写出执行下面程序的输出结果。voidfun(int&x,inty){intt=x;x=y;y=t;}intmain(){inta[2]={23,42};fun(a[1],a[0]);std::cout<<a[0]<<","<<a[1]<<std::endl;return0;}27、写出执行下面程序的输出结果。classA{public:A(){cout<<"A";}};classB{public:B(){cout<<"B";}};classC:publicA{Bb;public:C(){cout<<"C";}};intmain(){Cobj;return0;}28、写出执行下面程序的输出结果。classBase{private:charc;public:Base(charn):c(n){}virtual~Base(){cout<<C;}};classDer:publicBase{private:charc;public:Der(charn):Base(n+1),c(n){}~Der(){cout<<C;}};intmain(){Der("X");return0;}四、编程题(12分)29、编写一个程序计算“三角形、正方形、圆形”三种图形的面积,规定:a)抽象出一个基类base;b)在其中说明一个虚函数用来求面积;c)运用派生类定义“三角形、正方形、圆形”;d)编写主函数并测试。参考答案一、选择题(每小题3分,共48分。)01-05CADB06-10BBADA11-16DACBCC二、填空题(每空2分,共20分。)17、继承、多态性 18、友元 19、私有20、private或私有 21、成员、友元22、width/setw 23、抽象类三、程序的填空、程序的执行(每题4分,共20分。)24、counteroperator+(counterc)25、virtual26、23,2327、ABC28、XY四、编程题(12分)29、#include<iostream>usingnamespacestd;classbase{public:virtualfloatarea()const {return0;}};classtriangle:publicbase{protected:floatbian,height;public: triangle(floata=0,floath=0){bian=a;height=h;} virtualfloatarea()const {returnbian*height/2;}};classsquare:publicbase{protected:floatbian;public:square(floata=0){bian=a;} virtualfloatarea()const {returnbian*bian;}};classcircle:publicbase{protected:floatradius;public:circle(floatr=0){radius=r;} virtualfloatarea()const {retu

温馨提示

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

评论

0/150

提交评论