C++试题.doc_第1页
C++试题.doc_第2页
C++试题.doc_第3页
C++试题.doc_第4页
C++试题.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

。一、选择填空1. 对定义重载函数的下列要求中,( )是错的。GG.要求参数的个数不同;HH. 要求参数中至少有一个类型不同;II. 要求参数个数相同时,参数类型不同;JJ. 要求函数的返回值不同。2. 下列函数中,( )不能重载。KK. 成员函数;LL. 非成员函数;MM. 析构函数;NN.构造函数。3. 下列对重载函数的描述中,( )是错的。OO.重载函数中不允许使用缺省参数;PP. 重载函数中编译系统会根据参数表进行选择;QQ.不要使用重载函数来描述毫无相干的函数;RR. 构造函数重载将会给初始化带来多种方式;4. 下列运算符中,( )运算符不能重载。SS. &; B. ; C. : ; D.new5. 下列关于运算符重载的描述中,( )是正确的。TT. 运算符重载可以改变操作数的个数;UU. 运算符重载可以改变优先级;VV. 运算符重载可以改变结合性;WW. 运算符重载不可以改变语法结构。6. 运算符重载函数是( )。XX.成员函数;YY. 友元函数;ZZ. 内联函数;AAA. 带缺省参数的函数。7. 关于动态联编的下列描述中,( )是错误的。BBB. 动态联编是以虚函数为基础的;CCC. 动态联编是在运行时确定所调用的函数代码的;DDD. 动态联编调用函数操作是指向对象的指针或对象引用;EEE. 动态联编是在编译时确定操作函数的;8. 关于虚函数的描述中,( )是正确的。FFF. 虚函数是一个static类型的成员函数;GGG. 虚函数是一个非成员函数;HHH. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数;III. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型。9. 关于纯虚函数和抽象类的描述中,( )是错误的。JJJ. 纯虚函数是一种特殊的虚函数,它没有具体的实现;KKK. 抽象类是指具有纯虚函数的类;LLL. 一个基类中说明有纯虚函数,该基类的派生类一定不再是抽象类;MMM. 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出;10. 下列描述中,( )是抽象类的特性。NNN. 可以说明虚函数;OOO. 可以进行构造函数重载;PPP. 可以定义友元函数;QQQ. 不能说明其对象。二、判断下列描述的正确性,对者划,错者划。函数的参数个数和类型都相同,只是返回值不同,这不是重载函数。重载函数可以带有缺省值参数,但是要注意二义性。多数运算符可以重载,个别运算符不能重载,运算符重载是通过函数定义实现的。对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数,还可以重载为非成员函数。对单目运算符重载为友元函数时,说明一个形参;重载为成员函数时,不能显式说明形参。重载运算符保持原运算符的优先级和结合性不变。虚函数是用virtual关键字说明的成员函数。构造函数说明为纯虚函数是没有意义的。抽象类是指一些没有说明对象的类。 动态联编是在运行时选定调用的成员函数的。三、分析下列程序的输出结果。1、#include class Bpublic:B(int i)b=i+50;show(); B()virtual void show()cout”B:show() called.”bendl;protected:int b;class D:public Bpublic:D(int i):B(i) d=i+100;show();D() void show() cout”D:show() called.”dendl;protected:int d;void main()D d1(108);2、#include class Bpublic:B()B(int i)b=i; virtual void virfun()cout”B:virfun() called.n”;private:int b;class D:public Bpublic:D()D(int i,int j):B(i) d=j; private:int d;void virfun() coutvirfun(); void main()D *pd=new D;fun(pd);3、#include class Apublic: A()ver=A;void print() cout”The A version”verendl;protected: char ver;class D1:public Apublic:D1(int number)info=number; ver=1;void print() cout”The D1 info: ”info”version”verendl;private:int info;class D2:public Apublic:D2(int number)info=number;void print()cout”The D2 info”info”version”verendl;private:int info;class D3:public D1public:D3(int number):D1(number)info=number; ver=3;void print()cout”The D3 info”info”version”verprint(); void main()A a;D1 d1(4);D2 d2(100);D3 d3(-25);print_info(&a);print_info(&d1);print_info(&d2);print_info(&d3);4、#include class Apublic:A() ver=A;virtual void print() cout”The A version”verendl;protected:char ver;class D1:public Apublic:D1(int number)info=number;ver=1;void print()cout”The D1 info:”info”version”verendl;private:int info;class D2:public Apublic:D2(int number) info=number;void print()cout”The D2 info:”info”version”verendl;private:int info;class D3:public D1public:D3(int number) :D1(number) info=number;ver=3;void print()cout”The D3 info:”info”version”verprint(); void main()A a;D1 d1(4);D2 d2(100);D3 d3(-25);print_info(&a);print_info(&d1);print_info(&d2);print_info(&d3);5、#include class Matrixpublic:Matrix(int r,int c)row=r;col=c;elem=new doublerow*col;double& operator()(int x,int y) return elemcol*(x-1)+y-1; double operator()(int x,int y) const return elemcol*(x-1)+y-1; Matrix() delete elem;private:double

温馨提示

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

评论

0/150

提交评论