欢迎光临
我们一直在努力

20年春西交《面向对象程序设计》在线作业【标准答案】

可做奥鹏国开全部院校作业论文!答案请添加qq:599792888 或 微信:1095258436

西交《面向对象程序设计》在线作业

试卷总分:100  得分:100

一、单选题 (共 30 道试题,共 60 分)

1.下面关于引用的说法错误的是( )。

A.引用是被引用对象的别名

B.对引用的修改就是对被引用对象的修改,反之亦然

C.引用不一定立即初始化

D.引用不能建立数组

 

2.若有语句 int *p = new int[5]; int * pi; 则以下语句中,执行时会造成delete[ ] p 语句的执行出错的是()。

A.(*p)++;

B.p++;

C.pi = p;

D.pi=p+3;

 

3.一个类的析构函数通常被定义为该类的()成员。

A.私有

B.保护

C.公用

D.友元

 

4.函数重载是指( )。

A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的函数名字不同,但形参的个数或类型相同

D.两个以上的函数取相同的函数名,并且函数的返回类型相同

 

5.下面关键字中( )是定义模板的关键字。

A.public

B.static

C.class

D.template

 

6.假定AB为一个类,则执行AB x;语句时将自动调用该类的( )

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

 

7.从系统实现的角度看,多态性分为静态多态性和动态多态性。以下说法错误的是( )。

A.静态多态性是编译时的多态性

B.函数重载实现的多态性是静态多态性

C.通过虚函数实现的多态性是静态多态性

D.动态多态性是运行时的多态性

 

8.构造函数不具备的特征是( )。

A.构造函数的函数名与类名相同

B.构造函数可以重载

C.构造函数可以设置默认参数

D.构造函数必须指定类型说明

 

9.控制输出格式的控制符中,( )是设置输出宽度的。

A.ws

B.ends

C.setfill

D.setw

 

10.若需要使类中的一个指针成员指向一块动态存储空间,则通常在( )函数中完成。

A.析构

B.构造

C.任一成员

D.友元

 

11.如果一个类至少有一个纯虚函数,那么就称该类为_____。

A.抽象类

B.虚基类

C.派生类

D.其他都不对

 

12.在类中声明转换函数时不能指定( )

A.参数

B.访问权限

C.操作

D.标识符

 

13.虚函数的定义是在基类中进行的,定义时需要冠以关键字( )。

A.static

B.friend

C.virtual

D.public

 

14.在一个类中可以对一个运算符进行( )重载。

A.1种

B.2种以下

C.3种以上

D.多种

 

15.设置虚基类的目的是()。

A.简化程序

B.消除二义性

C.提高运行效率

D.减少目标代码

 

16.对于下面的两条语句,正确的描述是( )。 MyObject a(2), b(a), c; c = b = a;

A.拷贝构造函数执行了1次;

B.赋值运算符重载函数执行了3次;

C.拷贝构造函数函数执行了3次;

D.赋值运算符重载函数执行了1次;

 

17.下列说法错误的是()。

A.在类中不能对所定义的数据成员进行初始化;

B.类的公有成员函数是类与外界的接口

C.同一个类的两个对象占用相同的内存空间;

D.类实现数据隐藏。

 

18.下列关于运算符重载的描述中,( )是正确的。

A.运算符重载可以改变运算数的个数;

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

C.运算符重载可以改变结合性;

D.运算符重载不可以改变语法结构。

 

19.选出关于运算符重载的正确概念是( )

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

B.C++中可以定义新的运算符

C.重载运算符不能改变原有运算符的参数个数、优先级及结合性

D.凡是能被成员函数重载的运算符也一定能被友元函数重载

 

20.下列关于虚基类的说法错误的是()。

A.有引入虚基类的目的是解决二义性的问题;

B.因为虚基类可被多个派生类继承,因此可以有多个副本以适应不同的派生类;

C.若某个类被说明为虚基类,则被重复继承的该类成员在派生类对象中只有一个副本;

D.在派生类对象创建时,要保证虚基类的构造函数只被调用一次。

 

21.下列函数中,( )是对文件进行读操作的。

A.read()

B.write()

C.tellg()

D.seekp()

 

22.下列程序段不会发生二义性的是( )。

A.intfun(doublep){…;}

B.intfun(floatp){…;} floatfun(floatp){…;}floatfun(unsignedp){…;} intx;intx; x=fun(0);x=fun(0);

C.intfun(inti,intj=2){…;}

D.intfun(inti=2,intj=2){…;} floatfun(inti){…;}intfun(int*p){…;} cout<<fun(5);cout<<fun(5);

 

23.假定AA为一个类,a为该类公有的数据成员,px为指向该类对象的一个指针,则访问px所指对象中数据成员a的格式为( )。

A.px(a)

B.px[a]

C.px->a

D.px.a

 

24.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( )。

A.增加了一些新的运算符

B.允许函数重载,并允许设置缺省参数

C.规定函数说明符必须用原型

D.引进了类和对象的概念

 

25.关于基类和派生类的关系,( )是错误的。

A.派生类对象属于基类;

B.可以用派生类指针指向派生类对象;

C.可以将基类对象赋值给派生类对象;

D.派生类对象指针可转换为基类指针。

 

26.下列程序段不会发生二义性的是_____。

A.int fun(double p){…;}

float fun(float p){…;}

int x;

x=fun(0);

B.int fun(float p){…;}

float fun(unsigned p){…;}

int x;

x=fun(0);

C.int fun(int i,int j=2){…;}

float fun(int i){…;}

cout<<fun(5);

D.int fun(int i=2,int j=2){…;}

int fun(int *p){…;}

cout<<fun(5);

 

27.定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为( )。

A.int *p=new int[30];

B.int *p=new int(30);

C.int *p=new [30];

D.*p=new int[30];

 

28.对于语句cin>>x;中各个组成部分,下列叙述中错误的是( )。

A.;的作用是语句的结束

B.”cin”是一个输出流对象

C.”>>”称作提取运算符

D.”x”是一个变量

 

29.C++语言是从早期的C语言逐步发展演变而来的,与C语言相比,它在求解问题方法上进行的最大改进是( )。

A.面向过程

B.面向对象

C.安全性

D.复用性

 

30.下列对派生类的描述中,( )是错误的。

A.一个派生类可以作为另一个类的基类

B.派生类至少有一个基类

C.派生类的成员除了它自己的成员外,还包含它的基类的成员

D.派生类中继承的基类成员的访问权限到派生类中保持不变

 

二、判断题 (共 20 道试题,共 40 分)

31.常量不能作为左值使用。( )

 

32.在调用构造函数时不必给出实参的构造函数称为默认构造函数。一个类只能有一个默认构造函数。( )

 

33.C++只能用于面向对象程序设计,不适用于面向过程程序设计。( )

 

34.打开一个二进制文件时可以同时指定它既是输入文件又是输出文件。( )

 

35.使用new运算符创建数组时,可以为该数组指定初始值( )。

 

36.运算符重载以后,其优先级和结合性都不能改变。( )

 

37.在C++的异常处理方法中,try块和catch块必须作为一个整体出现。( )

 

38.在类的继承层次结构中,在不同的层次中不能出现名字相同、参数个数和类型都相同而功能不同的函数。( )

 

39.将运算符“+”函数重载为类的成员函数,交换律不适用。( )

 

40.使用字符串流时必须打开文件。( )

 

41.C++语言支持封装性和继承性,不支持多态性。( )。

 

42.引用可以不初始化。( )

 

43.字符串”sdfgh”的长度是5。( )

 

44.程序运行过程出现异常是由于语法错误引起的。( )

 

45.引用和指针都可作函数参数。( )

 

46.私有继承的派生类不能访问基类中的私有成员,但公用继承的派生类可以访问基类中的私有成员。( )

 

47.变量必须先定义后赋值。( )

 

48.若类Y是类X的私有派生类,类Z是类Y的公用派生类,则类Z不能访问类X 的公用成员和保护成员。( )

 

49.析构函数必须指定返回类型以及函数参数。( )

 

50.对使用默认参数的构造函数,如果在类外定义构造函数,应该在定义构造函数时指定默认值( )。

赞(0)
未经允许不得转载:奥鹏作业网 » 20年春西交《面向对象程序设计》在线作业【标准答案】

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址