22年春西交《面向对象程序设计》在线作业【资料答案】

可做奥鹏全部院校在线离线作业毕业论文QQ:3230981406 微信:aopopenfd777

发布时间:2022-06-10 21:08:09来源:admin浏览: 61 次

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

试卷总分:100  得分:100

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

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

A.(*p)++;

B.p++;

C.pi=p;

D.pi=p+3;

 

2.面向对象软件开发中使用的OOA表示( )。

A.面向对象分析

B.面向对象设计

C.面向对象语言

D.面向对象方法

 

3.不可以成为类的数据成员的是()。

A.自身类的对象

B.另一个类的对象

C.自身类的指针或引用

D.其他基本数据类型

 

4.有如下的定义语句:int * array_ptr=new int[10]; int * pi;执行下面的哪个语句将使程序执行delete[ ] array_ptr 时出错( )

A.(*array_ptr)++;

B.array_ptr++;

C.pi=array_ptr;

D.pi=array_ptr+3;

 

5.下述静态数据成员的特性中,( )是错误的。

A.声明静态数据成员时前面要加修饰符static。

B.静态数据成员要在类体外进行初始化。

C.在程序中引用静态数据成员时,要在静态数据成员名前加和作用域运算符。

D.静态数据成员是一个类的个别对象所共享的。

 

6.假定一个类的构造函数为 “A(int aa, int bb) {a=aa; b=aa*bb;}”,则执行 “A x(4,5);”语句后,x.a和x.b的值分别为( )

A.4和5

B.5和4

C.4和20

D.20和5

 

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

A.析构

B.构造

C.任一成员

D.友元

 

8.若有如下函数模板定义,则正确使用该函数模板的语句是______。

template<class type>

void add(type a, type b, type &c)

{   c=a+b ;   }

A.float x,y,z; add(x,y,z) ;

B.int x,y,z; add(x,y,&z) ;

C.float x,y ; int z; add(x,y,z) ;

D.float x,y ; int z; add(x,y,&z) ;

 

9.在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。

A.0

B.1

C.2

D.3

 

10.类的析构函数是一个对象被( )时自动调用的。

A.建立

B.撤消

C.赋值

D.引用

 

11.设x和y均为bool量,则x&&y为真的条件是()。

A.它们均为真

B.其中一个为真

C.它们均为假

D.其中一个为假

 

12.下列说法不正确的是( )。

A.在类中,成员的默认访问特性是私有的。

B.类封装了数据和操作。

C.类实质上是一种数据类型。

D.在类的定义中,必须包含private、publi

E.protected三种存取方式对应得部分。

 

13.下面是四条顺序出现的声明语句,非法的初始化语句是()。

A.int i = –1;

B.const int ic=i;

C.const int *pc=&ic;

D.int *const cpi=&ic;

 

14.下列关于私有继承的说法中正确的是()。

A.基类成员对派生类新定义的成员函数是不可见的;

B.基类成员对派生类新定义的成员函数是可见的;

C.只有基类成员中的公有成员对派生类新定义的成员函数是可见的;

D.基类成员中的保护成员对派生类新定义的成员函数是可见的。

 

15.设px是指向一个类对象的指针变量,则执行 “delete px;”语句时,将自动调用该类的( )

A.无参构造函数

B.带参构造函数

C.析构函数

D.复制构造函数

 

16.类的析构函数可以带有( )个参数。

A.0

B.1

C.2

D.任意

 

17.类模板的作用是可以将其实例化后得到一个具体的()。

A.类

B.对象

C.模板类

D.模板函数

 

18.类中定义的成员默认为(??)访问属性。

A.public

B.private

C.protected

D.friend

 

19.关于getline()函数的下列描述中,错误的是( )。

A.该函数中所使用的终止符只能是换行符

B.该函数读取字符串时,遇到终止符时便停止

C.该函数读取的字符串长度是受限制的

D.该函数可以用来从键盘上读取字符串

 

20.函数重载是指( )。

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

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

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

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

 

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

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

 

22.当一个类对象离开它的作用域时,系统自动调用该类的( )。

A.无参构造函数

B.带参构造函数

C.拷贝构造函数

D.析构函数

 

23.下面是五条顺序出现的声明语句,非法的初始化语句是( )。

A.int i=–1;

B.const int ic=i;

C.const int *pc={图}

D.int *const cpi={图}

E.const int *const cpic={图}

 

24.以下叙述中正确的是( )

A.使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值

B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的

C.在程序中使用内置函数使程序的可读性变差

D.在定义函数时可以在形参表的任何位置给出缺省形参值

 

25.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( )。

A.作为友元函数重载的1元运算符

B.作为成员函数重载的1元运算符

C.作为友元函数重载的2元运算符

D.作为成员函数重载的2元运算符

 

26.友元的作用之一是()。

A.提高程序的运行效率。

B.加强类的封装性。

C.实现数据的隐蔽性。

D.增加成员函数的种类。

 

27.若一个类中含有纯虚函数,则该类称为( )。

A.基类

B.虚基类

C.抽象类

D.派生类

 

28.下列关于成员函数特征的描述中,( )是错误的。

A.成员函数一定是内置函数

B.成员函数可以重载

C.成员函数可以设置参数的默认值

D.成员函数可以是静态的

 

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

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

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

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

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

 

30.关键字class和typename用于定义模板类型参数,其含义为( )。

A.任何用户定义的类类型

B.C++内部的类型

C.A与B

D.都不是

 

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

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

 

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

 

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

 

34.派生类能够继承基类的析构函数。( )

 

35.C++允许用户可以定义新的运算符。例如,可将“**”定义为幂运算符。( )

 

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

 

37.若类B是类A的私有派生类,类C是类B的私有派生类,则类C可访问类A的公用成员。( )

 

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

 

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

 

40.字符串"sdfgh"的长度是5。( )

 

41.构造函数可以重载。( )

 

42.纯虚函数是在基类中说明的虚函数,它在该基类中必须定义具体的操作内容。( )

 

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

 

44.重载单目运算符作为类的成员函数,函数没有参数。( )

 

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

 

46.使用虚函数可以避免多重继承产生的二义性。( )

 

47.C++中设置虚基类的目的是实现运算时的多态性。()

 

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

 

49.使用虚函数无法避免多重继承产生的二义性。( )

 

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


作业咨询 论文咨询
微信客服扫一扫

回到顶部