2014级计算机C++(下)模拟试卷答案2

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成贤学院计算机专业第二学期

C++程序设计期末模拟考试卷(100分钟)

姓名学号班级成绩

一.选择题(20分)

二.下列有关类和对象的说法中,正确的是__________。

A.类与对象没有区别B.要为类和对象分配存储空间

C.对象是类的实例,为对象分配存储空间而不为类分配存储空间

D.类是对象的实例,为类分配存储空间而不为对象分配存储空间

三.虚函数_________。

A.可实现静态多态

B.可实现动态多态

C.不能实现多态

D.既可实现静态多态,又可实现动态多态

四.重载运算“+”,实现a+b运算,则_____________。

A. a必须为对象,b可为整数或实数

B. a和b必须为对象

C. b必须为对象,a可为整数或实数

D. a和b均可为整数或实数

五.下列叙述中,不正确的是:。

A. 一个类可以不定义构造函数

B. 一个类可以不定义析构函数

C. 类的析构函数可以重载

D. 类的构造函数可以重载

六.类MyClass已经定义,执行语句“MyClass ca[3],*p[2]”时,将调用___次构造函数。

A.2

B.3

C.4

D.5

七.下列叙述正确的是________。

A.重载不能改变运算符的结合性

B.重载可以改变运算符的优先级

C.所有的C++运算符都可以被重载

D.运算符重载用于定义新的运算符

7. 对于指针运算正确的写法是。

A.int *p;p++; B.int x=5;int *p;p=x;

C.int x=5;int *p=&x; D.int x=5;int *p;p=&x;p++;8. 虚函数可以实现对象的多态性。若要实现动态的多态性,需要定义一个指针

变量,用于指向不同派生类的对象,调用指针所指的虚函数即可实现其功能。

该指针变量的类型是。

A、基类类型

B、派生类类型

C、整型

D、void类型

9. 当说明派生类的对象时,调用构造函数的顺序正确的是__________。

A.先调用基类的构造函数,再调用派生类的构造函数

B.先调用派生类的构造函数,再调用基类的构造函数

C.调用基类的构造函数和调用派生类的构造函数之间的顺序无法确定

D.调用基类的构造函数和调用派生类的构造函数是同时进行的

10. 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5,正确的语句是。

A. A1.p=5;

B. A1->p=5;

C. A1.*p=5;

D. *A1.p=5;

11.设有以下定义:

class Ball :public Circle{

double r ;

public:

……}

则正确的描述为。

A、Circle是Ball的派生类

B、r是Circle的数据成员

C、Ball是Circle的派生类

D、r是Ball和Circle共同的数据成员

12.从一个基类派生出的各个类的对象之间。

A. 共享所有数据成员,每个对象还包含基类的所有属性

B. 共享部分数据成员,每个对象还包含基类的所有属性

C. 不共享任何数据成员,但每个对象还包含基类的所有属性

D. 共享部分数据成员和函数成员

13.一个基类以私有方式派生时,其基类中的公有成员和保护成员在派生类

中。

A.均成为私有的成员

B.均成为公有的成员

C.均成为保护的成员

D.仍为公有的和保护的成员

14.以下选项中错误的是。

A.派生类可以继承多个基类 B.可以有多个派生类继承同一个基类

C.派生类可以有多个虚基类D.抽象类必须是虚基类

15.设有说明:struct{int x,y;} s[2]={{1,2},{3,4}},*p=s,*q=s;

则表达式++p->x和 (++q)->x的值依次是。

A.1 1 B. 3 3 C. 1 3 D. 2 3

16. 下列说法正确的是。

A.基类的构造函数和析构函数不能被派生类继承。

B.在派生类中用户必须自定义派生类构造函数。

C.析构函数与构造函数被调用的顺序是一致的。

D.在多重继承中,多个基类的构造函数的调用顺序由定义派生类构造函数时

指定的初始化表中的次序决定。

解析:如果基类没有定义构造函数,派生类也可以不定义构造函数,全都采用缺省的构造

函数。如果基类定义了带有形参表的构造函数,派生类就必须定义构造函数,保证在基类

进行初始化时能获得所需的数据。析构函数与构造函数被调用的顺序正好相反。在多重继

承中,多个基类的构造函数的调用顺序由在定义派生类时基类的声明顺序决定。

17. 说明语句const char *ptr;中,ptr是。

A.指向字符常量的指针 B.指向字符的常量指针

C.指向字符串常量的指针

D.指向字符串的常量指针

18. 设置虚基类的目的是。

A.简化程序; B.消除二义性;

C.提高运行效率;

D.减少目标代码;

解析:虚基类是为了强调"这个类型的某些方法没有意义, 只是为了继承, 不要构造这种类型的对象"

19.在下列哪种情况下不会调用拷贝构造函数。

A.用一个对象去初始化本类的另一个对象时。

B.函数的形参是类的对象,在进行形参和实参的结合时。

相关文档
最新文档