c++复习练习.doc_第1页
c++复习练习.doc_第2页
c++复习练习.doc_第3页
c++复习练习.doc_第4页
c++复习练习.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

一选择题1. _C_是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。 A)虚析构函数 B)虚构造函数 C)纯虚函数 D)静态成员函数2. 关于纯虚函数和抽象类的描述中,错误的是_C_。A) 纯虚函数是一种特殊的虚函数,它没有具体的实现B) 抽象类是指具有纯虚函数的类C) 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类D) 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出3. 实现运行时的多态性要使用_A_。A) 重载函数B) 构造函数C) 析构函数D) 虚函数4. 如果一个类至少有一个纯虚函数,那么就称该类为_B_。A) 抽象类B) 虚基类C) 派生类D) 以上都不是5. 分析下面的程序,正确的输出结果是_A_。#include#includeclassBasepublic:virtualchar*fun()const=0;char*Base:constreturnBase;classDerived11:virtualpublic、Basepublic:char*fun()constreturnDerived11;classDerived12:virtualpublicBasepublic:char*fun()constreturnDerived12;c1assDerived2:publicDerived11,publicDerived12public:char*fun()constchar*ptr;ptr=newcharstrlen(Derived11:fun()+stlen(Derived12:fun()+1;strcpy(ptr,Derived11:fun();strcat(ptr,Derived12:fun();returnptr;voidmain()Base*pb;pb=newDerived11;coutfun()endl;pb=newDerived12;coutfun()endl;pb=newDerived2;coutfun()endl;A)BaseBaseBaseB)Derived11Derived12Derived11Derived12C)Derived11Derived11Derived11Derived12D)Derived12Derived12Derived11Derived126. 在下面程序中,A、B、C、D四句编译时出现错误的是_C_。ClassA_/Apublic:_/BA()func();_/Cvirtualvoidfunc()=0;_/D;A) classAB) public:C) A()func();D) virtualvoidfunc()=0;7. 对虚函数的调用_B_。A) 可以说明虚函数B) 可以进行构造函数重载C) 可以定义友元函数D) 不能说明其对象二 填充题:1. 下列程序的运行结果如下:Derive1sPrint()called.Derive2sPrint()caIIed.根据结果将程序补充完整。#includeclassBasepublic:Base(intI)b=I;_protected:intb;classDerive1:publicBasepublic:_voidPrint()coutDerive1sPrint()called.Print();voidmain()_fun(d1);fun(d2);2. 根据不同的输出结果,在函数Tone中填入正确的语句。#includeclassInstrumentpublic:virtualvoidPrint()constcoutInstrument:Printendl;classPiano:publicInstumentpublic:voidPrint()constcoutPiano:Printendl;classGuitar:publicInstruImentpub1ic:voidPrint()constcoutGuiur:Printendl;voidTone(_)_voidmain()Guitarg;Tone(g);Pianop;Tone(p);(1)输出结果为:Instrument:PrintInstrument:Print(2)输出结果为:Guitar:PrintPiano:Print3. 下列程序的运行结果如下:Basescons.Derivedscons.Derivedsdes.Basesdes.根据结果将程序补充完整。#incudeclassBasepublic:Base()coutBasescons.endl;_coutBasesdes.endl;classDerived:publicBasepublic:Derived()coutDerivedscons.endl;Derived()coutDerivedsdes.endl;voidmain()Base*Ptr=_deleteptr;4. 抽象类不能_,但可以_作为参数类型,函数返回类型或显式转换类型。三 读程题:1. 写出下列程序的运行结果。#includeclassBasepublic:Base(intI=O):x(I)virtualintsum()constreturnx;private:1ntx;classDerived:publicBasepublic:Derived(intI=0,intj=O):Base(I),y(j)intsum()constreturnBase:sum()+y;private:inty;voidCall(Baseb)coutsum=b.sum()endl;voidmain()Baseb(10);Derivedd(10,40);Call(b);Call(d);2. 写出下列程序的运行结果。#includeclassBOpublic:virtualvoiddisplay()=0;classB1:publicBOpublic:voiddisplay()coutBl:display()”endl;classD1:publicB1public:voiddisplay()coutD:display()”display();voidmain()BO*p;B1b1;D1d1;p=&b1;fun(p);p=&d1;fun(p);3. 写出下列程序的运行结果。#includeclassBOpublic:voiddisplay1()coutBO:display1()endl;virtualvoiddisplay2()coutBO:display2()endl;classB1:publicBOpublic:voiddisplay1()coutB1:display1()endl;voiddisplay2()coutB1:display2()endl;classD1:publicB1public:voiddisplay1()coutD1:display1()endl;voiddisplay2()coutD1:display2()display1();ptr-display2();voidmain()B0b0,*p;B1b1;D1d1;p=&Bo;fun(p);p=&b1;fun(p);p=&d1;fun(p);4.指出如下程序的错误之处及其原因: class A int a; virtual int f( ); virtual int g( )=0; public: virtual A( ); a; class B: A long f( ); int g(int); b; A *p=new A; B *q=new B; int f(A, B); A g(B &); int h(B *);四编程题:1. 某人喜欢饲养宠物。假定他拥有的放置宠物的窝的数目是固定的。请设计一个程序,使得某人可以饲养任意种类任意数目的宠物。要求能够知道现在饲养了多少只宠物, 每只宠物所在的位置及其种类和姓名。*/2. 设计一个小型公司的人员信息管理系统。该公司主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。要求存储这些人员的姓名、编号、级别、当月薪水总额并显示全部信息,具体要求如下所述。_人员编号基数为1000,每输入一个人员信息,编号顺序加1。_程序具有对所有人员提升级别的功能。经理为4级,兼职技术人员和销售经理为3级,推销员为1级。_月薪计算方法是:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月

温馨提示

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

评论

0/150

提交评论