您的当前位置:首页正文

19春北理工《面向对象程序设计》在线作业【标准答案】

来源:爱go旅游网


北理工《面向对象程序设计》在线作业 -0001

试卷总分:100 得分:0

一、 单选题 (共 38 道试题,共 76 分)

1.整型变量中,八进制数的数字前面需要加数字()

A.8

B.0X

C.不需要

D.0

2.下列关于静态数据成员特性的描述中,错误的是()。

A.说明静态数据成员时前边要加修饰符static

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

C.静态数据成员不是所有对象所共有的

D.引用静态数据成员时,要在其名称前加<类名>和作用域运算符

3.一个类的构造函数为“B(intax,intbx):a(ax),b(bx){}”,执行“Bx(1,2),y(3,4);x=y;”语句序列后x.a的值为______。

A.1

B.2

C.3

D.4

4.下列运算符中,在C++中不能重载的是()。

A._

B.()

C.::

D.||

5.下列关于C++函数的描述中,正确的是()。

A.每个函数至少要有一个参数

B.每个函数都必须返回一个值

C.函数在被调用之前必须先进行声明或定义

D.函数不能自己调用自己

6.下列关于成员访问权限的描述中,错误的是()。

A.公有数据成员和公有成员函数都可以被类对象直接处理

B.类的私有数据成员只能被公有成员函数以及该类的友元访问

C.只有类或派生类的成员函数和友元可以访问保护成员

D.保护成员可以在派生类中被访问,而私有成员不可以

7.下列函数中,不是类的成员函数的是()。

A.构造函数

B.友元函数

C.析构函数

D.复制构造函数

8.下列关于this指针的描述中,正确的是()。

A.任何与类相关的函数都有this指针

B.类的成员函数都有this指针

C.类的友元函数都有this指针

D.类的非静态成员函数都有this指针

9.下列关于继承的描述中,错误的是()。

A.派生类对象不能访问基类的保护成员

B.派生类对基类成员的访问权限随着继承方式而改变

C.派生类成员可以访问基类的私有成员

D.派生类继承了基类的所有成员

10.有如下头文件:intf1();staticintf2();classMy{public:intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。

A.f1

B.f2

C.f3

D.f4

11.下列输出字符'A'的方法中,()是错误的。

A.cout<B.cout<<'A';

C.cout.put('A');

D.char A='A';cout<12.下列关键字中不能用来声明类成员访问权限的是()。

A.public

B.static

C.protected

D.private

13.假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。

A.p=newint

B.p=newint*

C.p=newint**

D.p=newint[10]

14.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。

A.char*p=s

B.char*p=&s

C.char*p;p=*s

D.char*p;p=&s

15.C++中用于实现运行时多态性的是()。

A.内联函数

B.重载函数

C.静态函数

D.虚函数

16.若有如下函数声明:voidFun(int);,则下列()不能与该函数进行重载。

A.void Fun(int,int);

B.void Fun(double);

C.int Fun(int);

D.void Fun(int) const

17.对虚函数的调用()

A.一定使用动态联编

B.必须使用动态联编

C.一定使用静态联编

D.不一定使用动态联编

18.下列关于类型转换的描述中,正确的是()。

A.由不同类型操作数组成的表达式的类型一定是最高类型double类型

B.强制类型转换都是非保值映射

C.赋值表达式的类型是左值的类型

D.类型转换是永久性的

19.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。

A.1

B.4

C.sizeof(double)

D.sizeof(p)

20.下列说法不正确的是_______。

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

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

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

D.在类的定义中,必须包含private、public、protected三种存取方式对应得部分。

21.下列情况中,不会调用复制构造函数的是()。

A.用一个对象去初始化同一类的另一个新对象时

B.将类的一个对象赋值给该类的另一个对象时

C.函数的形参是类的对象,调用函数用形参初始化实参时

D.函数的返回值是类的对象,函数执行返回调用时

22.下列关于构造函数和析构函数的描述中,错误的是()。

A.构造函数可以重载

B.析构函数名与类名相同

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

D.类中只有一个析构函数

23.列符号中能够作为C++标识符的是()。

A.const

B.2a

C._shape

D._count

24.友元运算符obj1>obj2被C++编译器解释为()。

A.operator >(obj1,obj2)

B.>(obj1,obj2)

C.obj2.operator >(obj1)

D.obj1.operator >(obj2)

25.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。

A.public和public

B.public和protected

C.protected和public

D.protected和public

E.protected和protected

26.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚

函数保持一致。

A.参数个数

B.参数类型

C.函数名称

D.函数体

27.下列程序的输出结果是()。

#includeclassMyClass{public:MyClass(){cout<<'A';}MyClass(charc){cout<A.ABX

B.ABXB

C.AXB

D.AXBB

28.下列关于堆运算符的描述中,错误的是()。

A.使用堆运算符可以动态建立或删除对象

B.可以在使用new[]创建数组时,为每个数组元素指定初始值

C.new运算符创建对象时要调用构造函数

D.delete运算符可以作用于空指针

29.在下列的各类函数中,______不是类的成员函数。

A.构造函数

B.析构函数

C.友元函数

D.拷贝构造函数

30.下列关于运算符重载的描述中,______是正确的。

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

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

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

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

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

A.int*p=newint[30]

B.int*p=newint(30)

C.int*p=new[30]int*p=new[30]

D.*p=newint[30]

32.派生类对象对它的基类成员中()是可以访问的。

A.公有继承的私有成员

B.公有继承的保护成员

C.公有继承的公有成员

D.私有继承的公有成员

33.下列函数参数默认值定义错误的是()。

A.Fun(int x=0,int y=0)

B.Fun(int x,int y)

C.Fun(int x,int y=0)

D.Fun(int x=0,int y)

34.下列对引用的陈述中不正确的是()。

A.每一个引用都是其所引用对象的别名,因此必须初始化

B.形式上针对引用的操作实际上作用于它所引用的对象

C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行

D.不需要单独为引用分配存储空间

35.有如下类声明:classMyClass{public:MyClass(){cout<<1;}};执行语句MyClassa,b[2],*p[2];后,程序的输出结果是()。

A.11

B.111

C.1111

D.11111

36.有如下类定义:

classMyClass{public:intgetRef()const{return&a;}intgetValue()const{returna;}voidset(intn)const{a=n;}friendvoidshow(MyClassobj)const{cout<A.getRef

B.getValue

C.set

D.show

37.下列关于派生类的描述中,错误的是()。

A.派生类继承了基类的所有成员

B.派生类能够作为基类继续派生新类

C.派生类可以有多个直接基类

D.派生类的默认继承方式是public

38.设置虚基类的目的是_____。

A.简化程序;

B.消除二义性;

C.提高运行效率;

D.减少目标代码;

二、 多选题 (共 4 道试题,共 8 分)

1.配置图中通常包含两种元素,分别是()

A.节点

B.依赖关系

C.关联关系

D.接口

2.时序图包含的元素分别是()

A.对象

B.生命线

C.消息

D.激活

3.状态机由()和动作组成

A.状态

B.转换

C.事件

D.活动

4.实际的建模过程中,可以把节点分()

A.处理器

B.设备

C.应用软件

D.系统软件

三、 判断题 (共 8 道试题,共 16 分)

1.一个类的构造函数中可以不包含对其子对象的初始化

A.错误

B.正确

2.可以在类的构造函数中对静态数据成员进行初始化。

A.错误

B.正确

3.派生类从基类派生而来,不能再生成新的派生类。

A.错误

B.正确

4.某类中的友元类的所有成员函数都可以存取或修改该类中的私有成员。

A.错误

B.正确

5.单继承时,派生类中对基类成员的访问也会出现二义性。

A.错误

B.正确

6.动态联编在运行时选定调用的成员函数。

A.错误

B.正确

7.只要是类M继承了类N,那么类M就是类N的子类型。

A.错误

B.正确

8.构造函数可以被继承

A.错误

B.正确

因篇幅问题不能全部显示,请点此查看更多更全内容