《面向对象程序设计》课程考查试题_第1页
《面向对象程序设计》课程考查试题_第2页
《面向对象程序设计》课程考查试题_第3页
《面向对象程序设计》课程考查试题_第4页
《面向对象程序设计》课程考查试题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、面向对象程序设计课程考查试题时量:120分钟 总分100分一、单项选择:(30分,共10小题,每题3分).在C+中有以下4条语句:intival = 10;int&ri = ival;ival = ival + 10;coutvvrivv?vvivalvvendl;执行这4条语句后输出为()10,1010,2020,2020,10.以下语句中,正确的选项是():constint m = 10;int *p1 = &m;int&r1 = m;int * const p2 = &m;constint&r2 = m;.采用函数重载的目的在于()(A)实现共享(B)减少空间(C)提高速度(D)使用方便

2、,提高可读性.在C+中,关于以下设置参数默认值的描述中,正确的选项是()(A)不允许设置参数的默认值(B)设置参数的默认值只能在定义函数时设置(C)设置参数默认值时,应该是先设置右边的再设置左边的(D)设置参数默认值时,应该全部参数都设置.下面()不能作为类的成员(A)自身类对象的指针(B)自身类对象的引用(C)自身类的对象(D)另一个类的对象.下面表达中,()不是构造函数的特征(A)构造函数的函数名与类名相同(B)构造函数可以重载(C)构造函数必须指定返回类型(D)构造函数可以设置默认参数.下面有关析构函数的说法正确的选项是()(A) 一个类中只能定义一个析构函数(B)析构函数名与类名不同(

3、C)析构函数的定义只能在类体内(D)析构函数可以有参数.友元的作用是()(A)提高程序的运行效率(B)加强类的封装性(C)实现数据的隐藏性(D)增加成员函数的种类.关于成员函数的描述中,错误的选项是()(A)成员函数可以重载(B)成员函数一定是内联函数(C)成员函数可以设置参数的默认值(D)成员函数可以是静态的.可以用p.a的形式访问派生类对象p的基类成员a ,其中a是()(A)私有继承的公有成员(B)公有继承的公有成员(C)公有继承的保护成员(D)公有继承的私有成员二、程序阅读(30分,共6小题,每题5分).写出下面程序的输出结果#include void main()int m=5,n=1

4、0,*pm=&m,*pn=&n;int *&r=pm;cout+*rendl;r=pn;cout*r+endl;.写出下面程序的输出结果#include #include class Demopublic:Demo(const char *str)strcpy(name,str);coutConstruct Hnameendl;Demo() coutHDestruct Hnameendl;private:char name20;);Demo go(nGlobalObjH);void fun()Demo lo1(nLocalObj1H);static Demo slo(StaticLocalOb

5、jH); void main()Demo *p=new Demo(”HeapOb);fun();Demo lo2(HLocalObj2H);delete p;.写出下面程序的输出结果include class Cowpublic:Cow()num+;Cow(int a)age=a;num+;staticint get();private:staticintnum;int age;int Cow:num=0;int Cow:get()return num;void main()Cow one5;for(inti=0;i5;i+)onei=Cow(i+105);coutCow:get()endl;

6、.写出下面程序的输出结果#include class Basepublic:Base(int x)coutConstruct BaseAn;m_d=x;virtualint get()return m_d; protected:intm_d;);classDerived:public Basepublic:Derived(intx,int y):Base(x)coutnConstruct DerivedAn; m_d=y;int get()return m_d; protected:intm_d;void exam(Base &r) coutr.get()endl;void main()Bas

7、e ob(5);Derived od(6,7);exam(ob); exam(od);).写出下面程序的输出结果#include classMyClass public:int number;void set(int i);int number=30;voidMyClass:set (int i) (number=i; void main() (MyClass my1;int number=40;my1.set(50);coutmy1 .numberendl; myl.set(number);coutmy1 .numberendl;my1 .set(:number);coutmy1 .numb

8、erendl; ).写出下面程序的输出结果#include class M public:M(int x) da=x;virtual M() coutDestruct M.Hdaendl; protected:int da;class N:public Mpublic:N(int x):M(x)N() coutnDestruct N.Hdaendl;;voidfx(M &r)delete&r;void main()M *p1,*p2;p1=new M(3);fx(*p1);p2=new N(5);fx(*p2);)三、程序填空:(24分,共3小题,每题8分).将程序补充完整,使得程序的结果为:

9、Friday Monday include void swap()char *temp;temp=p1;p1=p2;p2=temp;void main()char s1=HMondayH);char s2=TridayH;char *pa=s1,*pb=s2;coutpa* pbendl;.将程序补充完整,使得程序得到给定的结果include class Apublic:A(int x) ma=x;void f() coutln function fnH;void print() coutmaendl; private:int ma;class B: public:B(intx,int y):

10、A(x) mb=y;void print() A:print(); coutmbendl; private:intmb;;class C:public:C(intxjnt y):A(x) mc=y;void print() A:print(); coutmcendl; private:int me;class D:public B,public Cpublic:D(intx,int y): md=y;void print() B:print(); C:print(); coutmdendl; private:int md;void main()Aobja(10);Bobjb(20,30);Co

11、bjc(40,50);Dobjd(60,70);obja.f(); objb.f();objc.f(); objd.f();objd.print();程序的执行结果为:In function fIn function fIn function fIn function f6070607070.在下面横线处填上适当语句,完成该程序中的类模板定义#include (public:S(T r) m=r;voiddisp();protected:T m;;coutmendl;void main()Sds(10.0);ds.disp();Scs(*H);cs.disp();)四、程序设计(16分)请指出下面的Vector类缺少哪些内容,程序运行会产生什么问题。然后在类中增加这 些内容,防止问题发生。#include class Vectorpublic:Vector() ph=O;Vector(int n) ph=new intsize=n;void Set(intp,int d)if(p=1 & p=1 & p=size)return *(ph+p-1);return 0;private:int *

温馨提示

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

最新文档

评论

0/150

提交评论