【学历类职业资格】C++程序设计自考题-4及答案解析.doc
《【学历类职业资格】C++程序设计自考题-4及答案解析.doc》由会员分享,可在线阅读,更多相关《【学历类职业资格】C++程序设计自考题-4及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、C+程序设计自考题-4 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:20,分数:20.00)1.下列关于构造函数的描述中,错误的是( )A构造函数可以设置默认的参数 B构造函数在定义类对象时自动执行C构造函数可以是内联函数 D构造函数不可以重载(分数:1.00)A.B.C.D.2.下列关于 this指针的说法,正确的是( )Athis 指针一定指向常量型数据 Bthis 指针指向的数据不可更改C静态成员函数中也可以访问 this指针 Dthis 指针本身可直接作为成员函数的返回值(分数:1.00)A.B.C.D.3.下列关于复制构造函数的说法中错误的是( )A
2、复制构造函数是一种特殊的构造函数,函数名与类名相同B若自定义派生类的复制构造函数,那么也必须自定义基类的复制构造函数C复制构造函数只能有一个参数D复制构造函数不允许在函数体中使用 refurn语句(分数:1.00)A.B.C.D.4.下列哪种情况不属于函数重载( )A类中定义的运算符函数B同一个名字,参数个数不同C派生类中重新定义了一个和基类中的原型完全相同的函数D类中定义了两个同名、同参数表的函数,但其中一个是常成员函数(分数:1.00)A.B.C.D.5.下列关于友元的描述中,错误的是( )A友元函数可以访问该类的私有数据成员B一个类的友元类中的成员函数都是这个类的友元函数C类与类之间的友
3、元关系可以继承D友元可以提高程序的运行效率(分数:1.00)A.B.C.D.6.下述静态成员的特性中,错误的是( )A静态成员函数不能利用 this指针B静态数据成员要在类体外进行初始化C引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符D静态数据成员不是所有对象所共有的(分数:1.00)A.B.C.D.7.下面列出的基类中的哪部分能被派生类自动继承( )A基类中的默认构造函数 B基类中的虚析构函数C基类中的复制构造函数 D基类中的常成员函数(分数:1.00)A.B.C.D.8.下列有关继承和派生的叙述中,正确的是( )A派生类不能访问基类的保护成员 B作为虚基类的类不能被实例化C派
4、生类应当向基类的构造函数传递参数 D虚函数必须在派生类中重新实现(分数:1.00)A.B.C.D.9.关于多重继承二义性的描述,错误的是( )A派生类的多个基类中存在同名成员时,派生类对这个成员访问可能出现二义性B个派生类是从具有共同的间接基类的两个基类派生来的,派生类对该公共基类的访问可能出现二义性C解决二义性最常用的方法是作用域分辨运算符对成员进行限定D派生类和它的基类中出现同名函数时,将可能出现二义性(分数:1.00)A.B.C.D.10.当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员,称为继承的( )A规律性 B传递性C重复性 D多样性(分数:1.00)A.B
5、.C.D.11.下列说法中,不正确的是( )A模板类的基类可以是非模板类B模板类的派生类可以是模板类C根据建立对象时的实际数据类型,编译器把类模板实例化为模板类D可以从构造函数参数列表推断出模板实例化参数类型(分数:1.00)A.B.C.D.12.下面关于类模板的派生与继承,描述错误的是( )A类模板可以继承,继承的方法与普通的类一样 B声明模板继承之前,必须重新声明类模板C模板类的基类和派生类不可以是非模板类 D模板类的基类和派生类可以是模板类或非模板类(分数:1.00)A.B.C.D.13.下列关于向量的描述中,不正确的是( )A向量是类模板,具有成员函数,但它不可以使用构造类型B向量可以
6、改变赋值目标的大小Cerase(iterator it)方法是删除 it所指向的容器对象Dsize()方法指返回当前向量中已经存放的对象的个数(分数:1.00)A.B.C.D.14.下列虚基类的声明中正确的是( )Aclass virtual B:public A Bvirtual class B:public ACclass B:public A virtual Dclass B:virtual public A(分数:1.00)A.B.C.D.15.关于虚函数的描述中,正确的是( )A虚函数是一个静态成员函数B虚函数是一个非成员函数C虚函数既可以在函数说明时定义,也可以在函数实现时定义D派
7、生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型(分数:1.00)A.B.C.D.16.关于动态联编的描述中,错误的是( )A动态联编是以虚函数为基础的B动态联编运行时确定所调用的函数代码C动态联编调用函数操作是指向对象的指针或对象引用D动态联编是在编译时确定操作函数(分数:1.00)A.B.C.D.17.如果一个类至少有一个纯虚函数,那么就称该类为( )A抽象类 B虚基类C派生类 D以上都不对(分数:1.00)A.B.C.D.18.下列运算符在 C+中不能重载的是( )A?: BC D&(分数:1.00)A.B.C.D.19.在 C+的流类库预定义的缓冲方式下,与标准错误输出设备相联
8、接的是( )Acin BcoutCcerr Dclog(分数:1.00)A.B.C.D.20.下列叙述中,错误的是( )Abad()函数功能表示如果进行非法操作,返回 true,否则返回 falseBios_base:in 打开文件用于输入(输入流的打开模式)Cios_base:ate 打开一个已有的输入或输出文件并查找到文件尾Dios_base:out 打开文件进行读操作(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:20.00)21.在类定义时,如果没有定义任何构造函数,则编译器自动生成一个 1 构造函数。(分数:1.00)填空项 1:_22.析构函数名是在类名前加上 1
9、 符号,用来释放对象所占的内存空间。(分数:1.00)填空项 1:_23.设 A为 test类的对象且赋有初值,则语句 test B(A);表示 1。(分数:1.00)填空项 1:_24.静态数据成员初始化时,前面不加 1 关键字,以免与一般静态变量或对象混淆。(分数:1.00)填空项 1:_25.在类中声明 const数据成员时,只能通过 1 的方式来对该成员进行初始化。(分数:1.00)填空项 1:_26.在建立派生类对象时,先执行 1 的构造函数。(分数:1.00)填空项 1:_27.赋值兼容规则是指在公有派生情况下,基类对象 1(能、不能)使用派生类对象。(分数:1.00)填空项 1:
10、_28.在继承机制下,当对象消亡时,编译系统执行析构函数的顺序是 1。(分数:1.00)填空项 1:_29.访问控制权限有 public、private 和 13 种。(分数:1.00)填空项 1:_30.定义派生类时,若不使用类关键字显式地规定采用何种继承方式,则默认方式为 1 继承。(分数:1.00)填空项 1:_31.用来派生新类的类称为 1,而派生出的新类称为它的子类或派生类。(分数:1.00)填空项 1:_32.类模板中声明的类称为 1。(分数:1.00)填空项 1:_33.返回向量中的第 1个对象的成员函数是 1。(分数:1.00)填空项 1:_34.在 C+中,利用向量类模板定义
11、一个具有 20个 int的向量 A,其元素均被置为 5,实现操作的语句是 1。(分数:1.00)填空项 1:_35.在 C+中,可将多态性分为:编译时的多态性和 1。(分数:1.00)填空项 1:_36.至少包含一个 1 函数的类称为抽象类。(分数:1.00)填空项 1:_37.运算符的重载函数必须使用 1 关键字。(分数:1.00)填空项 1:_38. 1类是从 iostream类公有派生的,提供从文件中提取数据或把数据写入到文件的各种操作。(分数:1.00)填空项 1:_39.重载的运算符保持其原有的运算符个数、 1 不变。(分数:1.00)填空项 1:_40.表达式 operator+(
12、x,y)还可以表示为 1。(分数:1.00)填空项 1:_三、改错题(总题数:5,分数:20.00)41.#includeiostream.hclass Apublic:virtualA() virtual void f()cout“A:f()“endl;virtual void g()cout“A:g()“endl;class B:public Apublic;virtual void g()cout“B:g()“endl;virtual void k()cout“B:k()“endl;void main()A*P=new B;P-f();P-g();P-k();delete p;(分数:4
13、.00)_42.#includeiostream.hclass Addprivate:int sum;public:void plus(int,int);void Add:plus(int x,int y)sum=x+y;void main()Add add;add.plus(2,3);coutadd.sumendl;(分数:4.00)_43.#includeiostream.hclass Pointprotected:int x,y;public:Point(int i,int j)x=i,y=j;void Showxy()cout“x=“x“,y=“yendl;Point()cout“De
14、lete Point“endl;void main()Point a;(分数:4.00)_44.#includeiostream.hclass Apublic:void f()cout“a.f()“endl;class Bpublic:void f()cout“b.f()“endl;void g()cout“b.g()“endl;class C:public A,public Bprivate:int b;public:void g()cout“c.g()“endl;void main()C obj;obj.f();obj.g();(分数:4.00)_45.#includeiostream.h
15、class Aint i;public:virtual void fun()cout“A:fun()“endl;A(int a)i=a;class B:public Aint j;public:void fun()cout“B:fun()/n“;B(int b,int c)j=c;void main()A*P;B b(3,5);p=&b;p-fun();(分数:4.00)_四、完成程序题(总题数:5,分数:20.00)46.#includeiostream.hclass Apublic:void f(int i)coutiendl;void g()cout“g/n“;class B:_publ
16、ic:void h()cout“h/n“;void main()B b;b.f(6);_.h();(分数:4.00)_47.#includeiostream.hclass Aprivate:int X,Y;public:A()X=Y=0;A(int xx,int yy):X(xx),Y(yy) A(A&a) _;int GetX() return X;int GetY()return Y;void SetXY(int x,int y) X=x;Y=y;void main()A*Ptr=new A2;Ptr0.SetXY(5,10);Ptr1.SetXY(15,20);cout“Release
17、Ptr“endl;_;/释放动态分配内存(分数:4.00)_48.class pointprivate:int x,y;public:point(int,int);point(point&);point:point(int a,int b)x=a;_=b;point:point(_)x=z.x;y=z.y;void main()point p1(2,3);point p2(p1);(分数:4.00)_49.#includeiostream.h#includemath.hclass disprivate:double x,y;public:dis(_)x=x1;y=y1;double getx(
18、)return x;double gety()return y;_double log(dis&,dis&);double dis:log(dis&a,dis&b)double px=a.x-b.x;double py=a.y-b.y;return sqrt(px*px+Py*Py);void main()dis p1(3.5,4.5),p2(5.5,6.5);double d=dis:log(p1,p2);cout“The distance is“d;(分数:4.00)_50.在下面程序横线处填上适当内容,使程序执行结果为:Y=1,Y=3,Z=5。#includeiostream.hclas
19、s Bprivate:int Y;public:B(int y=0)Y=y;void print()cout“Y=“Y“,“;class D:public Bprivate:B b;int Z;public:D(int x,int y,int z):B(X),b(y)Z=z;void print()_;/打印基类 B中的成员 Y_;/打印类成员 b中的 Y值cout“Z=“Zendl;void main()D d(1,3,5);d.print();(分数:4.00)_五、程序分析题(总题数:2,分数:10.00)51.给出下面程序的输出结果。#includeiostream.hclass Ap
20、rivate:int a;public:void set(int x)a=x;void show()cout“a:“a“,“;class B:public Aprivate:int b;public:void set(int x=0)A:set(x);b=x+10;void set(int x,int y)A:set(x);b=y;void show()A:show();cout“b=“bendl;void main()B b;b.set(10);b.show();b.set(30,50);b.show();(分数:5.00)_52.给出下面程序的输出结果。#includeiostream.h
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学历 职业资格 程序设计 考题 答案 解析 DOC
