




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、、单项选择题 ( 在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的 括号内。每小题 2 分,共 20 分 )1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实 体也就是 ( )A. 类 B. 对象 C. 函数体 D. 数据块2. 面向对象的程序设计语言必须具备的关键要素是 ( )A. 抽象和封装 B. 抽象和多态性C. 抽象、封装、继承和多态性 D. 抽象、封装和继承性3. 类的构造函数被自动调用执行的情况是在定义该类的 ( )A. 成员函数时 B. 数据成员时C. 对象时 D. 友元函数时4. 设有函数模板templateQ Sum(Qx,Qy)
2、return(x)+(y); 则下列语句中对该函数模板 错误 的使用是 ( )A.Sum(10,2); B.Sum(5.0,6.7) ;C.Sum(15.2f,16.0f); D.Sum( AB , CD );5. 已知类 A 是类 B 的友元,类 B 是类 C 的友元,则 ( )A. 类 A 一定是类 C 的友元B. 类 C 一定是类 A 的友元C. 类 C 的成员函数可以访问类 B 的对象的任何成员D. 类 A 的成员函数可以访问类 B 的对象的任何成员6. 如果表达式 +i*k 中的“ + ”和“ * ”都是重载的友元运算符,则采用运算符函数 调用格式,该表达式还可表示为 ( )A.op
3、erator*(i.operator+(),k) B.operator*(operator+(i),k)C.i.operator+().operator*(k) D.k.operator*(operator+(i)7. 下列说法中正确的是 ( )A. 类定义中只能说明函数成员的函数头,不能定义函数体B. 类中的函数成员可以在类体中定义,也可以在类体之外定义C. 类中的函数成员在类体之外定义时必须要与类声明在同一文件中D. 在类体之外定义的函数成员不能操作该类的私有数据成员8. 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的 ( )A. 私有成员 B. 公有成员C.
4、 保护成员 D. 保护成员或私有成员9. 对基类和派生类的关系描述中, 错误 的是 ( )A. 派生类是基类的具体化 B. 基类继承了派生类的属性C. 派生类是基类定义的延续 D. 派生类是基类的特殊化10. 类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p-A:func() 将 ( )A. 调用类 A 中的函数 func()B. 调用类 B 中的函数 func()C. 根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func()D. 既调用类 A 中函数,也调用类 B 中的函数、填空题 ( 每小题 2
5、分,共 20 分 )11. 假定用户没有给一个名为 AB 的类定义析构函数,则系统自动给出的缺省析构函数定 义为 。12. 模板定义中标识类型的参数必须用关键字 修饰。13. 表达式 counthex 还可表示为 。14. 通过 C+ 语言中的 机制,可以从现存类中构建其子类。15. 要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加 实现。16. 封装要求一个对象应具备明确的功能,并具有 以便和其它对象相互作用。17. 在删除一个动态对象时,将自动调用该动态对象所属类的 函数。18. 静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是 19. 在下面的类定义中,私
6、有成员有 。class Location int X,Y;protected:int zeroX,zerxY;int SetZero(intzeroX, intzeroY);private:int length,height;public:void init(int initX,int initY);int GetX();20. 类的私有成员只能被它的成员函数和 访问。三、改错题 ( 每小题 2 分,共 10 分 )21. 此类定义有一处错误,请指出错误并改正。class ABCint a;public:ABC(int aa)a(aa);22. 下面程序通过调用函数模板实现计算两个正整数的最大
7、公约数, 把 main 函数中错误找 出并改正过来。#includetemplateT gcd(Tx,Ty)while(x! =y)if(xy)x-=y;else y-=x;return x;void main()double d;cinad;coutgcd(a,d)endl;23. 指出下面程序中的错误,并说明出错原因。#includeclass ConstFunpublic:void ConstFun()const int f5()constreturn 5;int Obj() return 45;int val;int f8();int ConstFun:f8()return val;v
8、oid main()const ConstFun s;int i=s.f5();cout Value= iendl;24. 指出下面程序中的错误,并说明错误原因。#includeclass Apublic:void fun()couta.funendl;class Bpublic:void fun()coutb.funendl;void gun()cout b.gun endl;class C:public A,public Bc.gu nen dl;private:int b;public:void gun()cout ;void main()c obj;obj.fun();obj.gun(
9、);25. 指出下面程序段中的错误,并说明出错原因。class Location int X,Y;protected:int zeroX,zeroY;private: int length,height;public:float radius;void init(int initX,int initY)length=initX;height=initY;int GetX()return X;int GetY()return Y;int main()Location retangleA=25,20,3,5,6,7,3;return 0;四、完成程序题 ( 每小题 4 分,共 20 分 ) 根据题
10、目要求填空,完成程序。26. 在下面程序段横线处填上适当的内容。class A int n;public:A(int nn=0):n(nn)if(n=0)a=0;else a=new int n / 定义析构函数,释放动态数组空间;27. 在下面程序横线处填上适当内容,使程序执行结果为:200_ _ 100程序如下:#include template Tf(Tx,Ty)if(sizeof(T)=)return x+y;elsereturn x*y;void main()cout f(10,20) - f(45.5,54.5)endl;28. 下面程序三次调用同一函数 sum ,在横线处填上适当
11、内容,使输出结果为:S=2S=5S=9程序如下:#includevoid sum(int i)static int s;cout S= sendl;void main (void)int i;for (i=0;)sum(i);29. 请在下面横线处填上适当的内容,使程序的输出为:7.000007程序如下:#includeviod main()double x=7;coutx;coutendlx;30. 在下面程序横线处填上适当的内容,使该程序输出结果为:Creating Bend of Bend of A 程序如下:#includeclass Apublic:endl;A()cout end
12、of A ;calss B:public Apublic:B()B()cout end of B endl;void main()A*pa=new B;delete pa 五、程序分析题 ( 每小题 5 分,共 30 分 ) 给出下面各程序的输出结果。31. 当从键盘上输入 1.5 10 时,写出下面程序的执行结果。 #includevoid mian()int a,b,c;char ch;cinachbc;/ 从键盘上输入 1.5 10 coutaendlchendlbendlc;输出为:32. 写出下面程序输出结果。#includetemplatevoid f(T a 3 3 ,Tb 3
13、3 ,Tc 3 3 ) for(int i=0;i3;i+)for(int j=0;j3;j+)c i j =(T)0 for(int k=0;k3;k+)c i j +=a i k *b j k void main()int a 3 3 =1,2,3,4,5,6,7,b 3 3 ,c 3 3 =2,0,2,0,0,2;f(a,c,b);for(int i=0;i3;i+)for(int j=0,j3;j+)coutb : i : : j : ;coutendl;输出为:33. 写出下面程序的输出结果。#includeclass FUNfriend ostream& operator (ost
14、ream&,FUN);fun;ostream& operator(ostream& os,FUN f) os.setf(ios:left);return os;void main()coutsetfill( * )setw(10)12345endl;coutfunsetw(10)54321endl;输出为:34. 写出下面程序的输出结果。#includeclass Testprivate:static int val;int a;public:static int func();static void sfunc(Test &r);int Test:val=20;int Test:func()
15、val-;return val;void Test:sfunc(Test &r)r.a=25;cout Result3 =r.a;void main()cout Resultl= Test:func()endl;Test a;cout Result2= a.func();Test:sfunc(a);输出为:35. 写出下面程序输出结果。# includeclass Apublic: endl;virtual void func()cout func in class A ;class Bpublic:virtual void func()cout func in class B endl;cl
16、ass C:public A, public Bpublic:void func()cout func in class C endl;void main()C c;A& pa=c;B& pb=c;C& pc=c;pa.func();pb.func();pv.func();输出为:36. 写出下面程序的输出结果。# include class Locationpublic:int X,Y;void init(int initX,int initY);int GetX();int GetY();void Location:init (int initX,int initY)X=initX;Y=i
17、nitY;int Location:GetX()return X;int Location:GetY()return Y;void display(Location& rL)coutrL. GetX()ff ffrL.GetY()init(7,8);for (int i=0;i5;i+)display(*(rA+);输出为:全国 2002年 10月高等教育自学考试面向对象程序设计参考答案参考答案一、单项选择题(本大题共 lO 小题,每小题 2分:共 20 分)1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.A 9.B 10.A二、填空题(本大题共 10 小题,每小题 2 分,共 2
18、0分)11. AB ()12. class (或 type name)13 cout,sctf ( ios: hex,ios: basefield)(或 coutsetf( ios:hex) ,或 cout (a, d)或把 gcd(a, b)改为 gcd (a, int (d)=23. 程序中第4行“ void ConstFun () ”错误,因为声明构造函数时不能指定返回类型。24. 第15行obj.fun();语句错误,因为用C类的对象obj对函数fun ()的访问是两义的,应 使用成员名限定来消除两义性。25. location retangleA = 25 , 20, 3, 5, 6, 7, 3;语句错误,因为数据成员不都是公有成 员,不能用初始化列表初始化。四、完成程序题(本大题共5小题,每小题 4分,共 20 分)26. int *a;(2分)A()delete 口 a; (2 分)27. V class 1( 2 分)sizeof( double) (或 8 或其他等价形式)28.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 渔业生产技术培训与合作社合作协议
- 信息安全管理与审计工具箱
- 财务费用核算自动化工具集
- 一场突如其来的大雨事件记事类作文8篇范文
- 销售代理委托协议条款扩展文件
- 特种工种安全培训课件
- 特种工安全培训教学课件
- 企业知识管理与员工培训资源库
- 文件归档方案办公场景表格
- 建材销售个人工作总结
- 酒店pa考试试题及答案
- 钣金冷冲压激光切割折弯检验作业指导书
- 高中英语译林版课文语法填空知识点课件
- Q-SY 25781-2024 原油内控指标
- 人社领域贯彻实施《民法典》操作指引
- T/CNCIA 02015-2023室内墙面无机涂料施工及验收规范
- 推广普通话知识竞赛试题
- 贸易公司合伙合同协议
- 挖机工时合同协议
- 开音节闭音节试题及答案
- 部编人教版小学一年级上册道德与法治全册教学设计
评论
0/150
提交评论