2020年1月全国自考面向对象程序设计试题及答案解析_第1页
2020年1月全国自考面向对象程序设计试题及答案解析_第2页
2020年1月全国自考面向对象程序设计试题及答案解析_第3页
2020年1月全国自考面向对象程序设计试题及答案解析_第4页
2020年1月全国自考面向对象程序设计试题及答案解析_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、精品自学考试资料推荐全国2018年1月高等教育自学考试面向对象程序设计试题课程代码:02328一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括4使用mt类型的参数,求其平方并返回,返回值也为 )号内。错选、多选或未选均无分。L面向对象程序设计中的数据隐藏指的是A ,输入数据必须输入保密II令C.对象内部数据和代码合并在一起2 .在C+中,编写一个内联函数Fun, int类型,下列定义正确的是(A.iiit Fmi(int x) return x*x;C.iiit inlme Fun(int x)return x

2、*x;3 ,下面关于重载函数的叙述中正确的是 A.重载函数必须具有不同的返回值类型B.重载函数的形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数的函数名可以不同)B.数据经过加密处理D .对象内部数据结构的不可访问性B.mluie int Fun(int x)ieturn x*x; D.iiit Fun(int x)mluie return x*x; )4 .若有定义“intx=17; 则语句“coutv<octvvx;”的输出结果是(B.OxllC.21D.0215 .下列关于析构函数的描述中正确的是()A.析构函数可以重载B.析构函数可以是虚函数C.析构函数名与类名相同D

3、.析构函数的返回类型为void6 .下列关于纯虚函数的描述中,正确的是()A.纯虚函数是一种特殊的虚函数,它是个空函数B.具有纯虚函数的类称为虚基类C.一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数D.具有纯虚函数的类不能创建类对象7 .下列关于运算符重载的描述中,正确的是()A.可以改变运算符的目数B.可以改变运算符的优先级C.可以改变运算符的结合性D.可以改变运算符的功能B.class B:virtual public A D.class B:public A virtual ( )8 .要将类A说明是类B的虚基类,正确的描述是()A.class virtual B public

4、AC.virtual class B:public A9 .下面关于静态成员的描述中,正确的是 A.静态数据成员是类的所有对象共享的数据B.类的每个对象都有自己的静态数据成员C类的不同对象有不同的静态数据成员值D.静态数据成员不能通过类的对象访问10 .假设Sample是个类,则语句"Sample a 2 ,*p 3调用构造函数的次数为()B.2D.5A.0C.3二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。11 .在面向对象的程序设计中,将一组对象的共同特性抽象出来形成。12 .在C+中要创建一个文件输入流对象fin,同时该

5、对象打开文件“Test.txt”用于输入, 则正确的声明语句是o13 .如果要把类B的成员函数void)说明为类A的友元函数,则应在类A中加入语句14 . A是一个类,已有语句“A*p;p=newA10;北要释放由p指向的动态空间,正确的语句应该是15 .如果一个引用不是用作函数参数或返回值,则在说明该引用时必须对它进行 O16 .如果要把PI声明为值为3.14159类型为双精度实数的符号常量,该声明语句是 O17 .在C+中函数原型不但要标识一个函数的返回类型,同时还要标识该函数的 O18 .类A的后置自增运算符+以成员函数的形式进行重载,其在类内的函数声明是 O19 .动态联编是通过基类类

6、型的指针或引用调用函数来完成。20 .基类的保护成员通过私有派生其在派生类中的访问权限是。三、改错题(本大题共5小题,每小题2分,共10分)21 .卜.面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。class Sample private:int data;Sample( )data=10; public:Sainple(int d)data=d;int operator int() return data;);22 .下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。#mclude<iostreain.h>class Pointint X.Y;p

7、ublic:Point( )X=O;Y=O;Point(iiit x=O,iiit y=O)X=x;Y=y;void display( )cout«X«,/,«Y«endl;23 .下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。#mclude<iostreain.h>template<class T>void Swap(T& a,T& b) (Tt;t=a,a=b,b=t;void niaiii()(int a=3,b=4;charstrl 5 ='' abed",str2

8、 5 =" hijk” ;Swap(a,b);Swap(strl,str2);cout«n a=" wavv“,b=" «b«endl;cout«n strl=" «stil«n ,sti2=n «str2«endl;24 .卜.面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。#mclude<iostreain.h>class Base (public:viitual void fun( )cout«MBase fimctionn«

9、endl;class Derived:public Base (public:void fun( )cout«nDeiived functionH«endl;void niaiii() (Base b;Derived* p=&b;b.fun(););25 .下面的程序有一处错误,请用下横线标出错误所在行并说明错误原因。精品自学考试资料推荐#mclude<iostreain.h> class A (int x;protected:Hit y;public:A(int xx,int yy)x=xx; y=yy;class B:public A(public:

10、B(int ajnt b):A(a,b)void display( )cout«x«< ; «y«endl;void main() (B b(5,10);b.display();四、完成程序题(本大题共5小题,每小题4分,共20分) 根据题目要求,完成程序填空。26 .请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: 2,14,3#iiiclude<iostreain.h> class A (int a;public:A(int i=0)a=i;int Geta()return a;class B(A a;int b;

11、public:i=0jnt j=0): ® void display( )cout«a.Geta()«z ; «b«endl;);void niam() (Bb 2 =B(1,2),B(3,4);foi(mt i=0;i<2;i+) ®27 .下面程序中A是抽象类。请在下面程序的横线处填上适当内容,以使程序完整,并使程序 的输出为:Bl calledB2 called#mclude<iostreain.h>class A(public:®class Bkpublic A(public:void displa

12、y( )coutw" B1 called M «endl;class B2:public A(public:void display( )cout«," B2 called M «endl;void show()(p->display();void niam()(Bl bl;B2 b2;A*p 2 =&bh&b2);foi(mt i=0;i<2;i+) show(p i);28 .请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为: Name:王小明Grade: 906精品自学考试资料推荐#mclude

13、<iostreain.h>#iiiclude<stimg.h> class Person (char name 20;public:Person(chai* s)strcpy(name,s);void display( )cout«v Name:" «naine«endl; ;class Smdent:public Person(int grade;public:Student(char* s, iiit g): ®grade=g; void display() (®cout«v Grade: 

14、71;giade«endl; ; void main() (Students(“王小明”,90);s.display();29.请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为5。#mclude<iostreain.h> class Integer (int x;public:Iiitegei(mt a=0) x=a; void display( )cout«x«endl; ®Integer Max(Iiiteger a.Integer b)(if()return a;return b; void main() ( Integ

15、er a(3),b(5),c; c=Max(a.b); c.display(); 30.请在下面的横线处填上适当内容,以使类的定义完整。 class Array (int* ptr; int size; public:Aiiay( )size=0; pti-O;Array(mtn)size=n;ptr=newint size ;Anay()更制初始化构造函数( size=a.size; ptr=new int size; fdr(int i=0:i<size;i+) ®将源对象的动态数组内容兔制到目标对象 ; 五、程序分析题(本大题共6小题,每小题5分,共30分) 阅读下面的程

16、序,写出程序运行的结果。31. #mclude<iostieam.h> class Test ( private:hit num; public:Test(iiit n=0)num=n;num+-r;-Test( )cout«,t Destnictor is active,number= v «num«endl; ; void main() (Test x 2; cout«Exiting mam, «endl; 32. #include <iostreain.h> class Apublic:viitual void f

17、un (int data)cout« ” class A:M «data«endl; void fun(chai- cout« class A:n «str«endl; ;class B: public A(public:void fun() cout« class B" «endl;void fun(iiit data) cout«w class B: " «data«endl; void fun(char *str) cout«w class B: &

18、quot; «str«endl;void niaiii()(A*pA;Bb;pA=&b;pA->fun(l);pA->fiin( u Hello M );33.#include <iostream.h>void niaiii()(cout.fmc*);cout.width(lO);cout«n123.45n«endl;cout.width(8);cout«n123.45n«endl;cout.width(4);cout«n123.45n«endl;34.#include<iostreain.h>class Num(int X.Y;public:Num(iiit x,int y=0)X=x;Y=y;void value(iiit y=0)X=x;Y=y;void value()cout«X;氓 Y!=0)cout«(Y>0?')«(Y>O?Y>Y)«, i'cout«endl;void niaiii()(Numn(l);n.value();n.value(2,3);n.value();Num m(3,-4);m.val

温馨提示

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

评论

0/150

提交评论