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

下载本文档

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

文档简介

77、 通常的拷贝初始化构造的参数是A、某个对象名C、某个对象的引用名8、设置虚基类的目的是( )。A、简化程序 B、消除二义性9、 派生类的对象对它的基类成员中A、公有继承的公有成员C、公有继承的保护成员10、 作用域运算符的功能是( )A、标识作用域的级别的C、给出作用域的大小的、选择题(每题2.5分,共30分)1、关键字( )说明对象或变量初始化后不会被修改。A、static B、public C、const D、inline2、一个类可以( )构造函数。A、有且仅有一个 B、有多个 C、有零个D、以上都不是TOC\o"1-5"\h\z3、内联函数执行起来比标准函数( )。A、更慢 B、不确定 C、次数更多 D、更快4、默认参数的值由( )提供。A、该函数 B、调用程序C、上述二者 D、以上都不是5、静态数据成员的生存期( )。A、与整个程序相同 B、不长于类的生存期C、取决于创建的对象数 D、以上都不是6、 已知在一个类体中包含如下函数原型:Volumeoperator-(Volume)const,下列关于这个函数的叙述中,错误的是( )。A、这是运算符-的重载运算符函数 B、这个函数所重载的运算符是一个一元运算符C、这是一个成员函数 D、这个函数不改变类的任何数据成员的值()。B、某个对象的成员名D、某个对象的指针名C、提高运行效率 D、减少目标代码( )是可以访问的。B、公有继承的私有成员D、 私有继承的公有成员B、指出作用域的范围的D、标识某个成员是属于哪个类的11、类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将()。A、调用类A中的函数func() B、调用类B中的函数func()C、根据p所指的对象类型而确定调用类 A中或类B中的函数func()D、 既调用类A中函数,也调用类B中的函数12、下列关于虚函数的说明中,正确的是()。A、从虚基类继承的函数都是虚函数 B、虚函数不得是静态成员函数C、只能通过指针或引用调用虚函数 D、抽象类中的成员函数都是虚函数二、填空(每题2分,共20分)1、类的构造函数 (可以/不可以)是虚函数。2、面向对象程序设计有四个主要特点,即抽象、封装、继承和 。3、在C++类中可以包含公有、私有和 三种具有不同访问控制权的成员。4、定义类时,在类头中将使用关键字 来表示类定义的开始。5、如果一个类中至少有一个纯虚函数,则该类称为 。6、C++中动态申请内存空间,需要用 关键字实现。7、 在表达式x+y中,+是作为成员函数重载的运算符,则operator+有 个参数8、静态数据成员初始化与一般数据成员初始化 (相同/不同)。9、 用流对象的成员函数控制输出格式时,用于设置字段宽度的流成员函数的名称是width,与之作用相同的控制符名称是 。10、 程序填空:classBase{public:voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{voidfun(){ //显示调用基类的函数fun()cout<<"Derived::fun"<<endl;} };三、读程序写结果(每小题5分,共25分)classcounter{private:intn;public:counter(){n=0;}counter(inti){n=i;}counteroperator+(counterc)/运算符重载函数{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();}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;}classA{public:A(){cout<<"A";}};classB{public:B(){cout<<"B";}};classC:publicA{Bb;public:C(){cout<<"C";}};intmain(){Cobj;return0;}classteacher;classstudent{stringname;public:student(strings1){name=s1;}friendvoidprint(student&,teacher&);};classteacher{stringname;public:teacher(strings2){name=s2;}friendvoidprint(student&,teacher&);};voidprint(student&a,teacher&b){cout<<"thestudentis:"<<<<endl;cout<<"theteacheris:"<<<<endl;}voidmain(){students("LiHu");teachert("WangPing");print(s,t);}classBase{public:virtualvoidfun(){cout<<1;}};classDerived:publicBase{public:voidfun(){cout<<2;}};voidmain(){Base*p=newDerived;p->fun();deletep;}四、程序设计题(第1题10分,第2题15分,共25分)1、定义一个Dog类,包含的age、weight等属性,以及对这些属性操作的方法。要求:A)设计Dog类构造函数及Getage()SetWeight()函数;B)编写主函数构造Dog类对象进行测试。2、定义一个shape抽象类,派生出Rectangle类和Circle类,计算各派生类对象的面积。要求:A)抽象出一个基类shape并在其中说明一个虚函数用来求面积;B)定义派生类长方形(数据成员为长、宽)、圆形(数据成员为半径); C)编写主函数并测试。滨州学院2011-2012学年第二学期期末考试计算机科学与技术专业(本)2011级面向对象程序设计》计算机科学与技术专业(本)2011级面向对象程序设计》A)标准答案、选择题(每题2.5分,共30分)1-6CBDCAB7-12CBADAB、填空(每题2分,共20分)6.可以2.多态3.保护1-6CBDCAB7-12CBADAB、填空(每题2分,共20分)6.可以2.多态3.保护4.class5.抽象类6.new7.18.不同9.setw10.Base::fun();三、读程序写结果(每小题5分,共25分)1.n=5n=10n=152.23,233.ABC4.thestudentisLiHuthestudentisWangPing5.2四、程序设计题(第1题10分,第2题15分,共25分)阅卷说明:程序设计题的方法比较多,只要学生程序能够正确解决问题即可得分,不必局限于标准答案给出的方法。1.(10分)评分标准:程序包括正确Dog类定义、构造函数及成员函数实现(7分)测试Dog类对象的使用(3分)两个主要部分,只要结果正确,语法无误即可得分,否则酌情扣分。classDog{public:Dog(intinitialAge=0,intinitialWeight=5);intGetAge(){returnitsAge;}intGetWeight(){returnitsWeight;}voidSetWeight(intweight){itsitsWeight=weight;}private:intitsAge,itsWeight;};Dog::Dog(intinitialAge,intinitialWeight){itsAge=initialAge;itsWeight=initialWeight;}intmain(){DogJack(2,10);cout<<"JackisaDogwhois";cout<<Jack.GetAge()<<"yearsoldand";cout<<Jack.GetWeight()<<"poundsweight.\n";Jack.SetWeight(20);cout<<"NowJackis";cout<<Jack.GetAge()<<"yearsoldand";cout<<Jack.GetWeight()<<"poundsweight.";return0;}7.(15分)评分标准:程序包括正确Shape类定义(3分)、Rectangle类定义及成员函数实现(4分)、Circle类定义及成员函数实现(4分)、测试程序实现运行时多态(4分)四个主要部分,只要结果正确,语法无误即可得分,否则酌情扣分。#include<iostream>usingnamespacestd;classShape{public:virtualvoidArea()=0;};classRectangle:publicShape{public:Rectangle(doublew=0,doubleh=0){width=w,height=h;}voidArea(){cout<<width*height<<endl;}protected:doublewidth,height;};class

温馨提示

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

评论

0/150

提交评论