300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 北理作业答案c语言 北理工19春《面向对象程序设计》作业【标准答案】...

北理作业答案c语言 北理工19春《面向对象程序设计》作业【标准答案】...

时间:2022-12-30 14:18:24

相关推荐

北理作业答案c语言 北理工19春《面向对象程序设计》作业【标准答案】...

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

试卷总分:100 得分:0

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

1.对虚函数的调用()

A.一定使用动态联编

B.必须使用动态联编

C.一定使用静态联编

D.不一定使用动态联编

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

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

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

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

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

3.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。

A.重载函数

B.内联函数

C.递归函数

D.友元函数

4.下列描述中,()不是面向对象系统包含的要素。

A.对象

B.类

C.继承

D.函数

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

A.(*p)++;

B.p++;

C.pi = p;;

D.pi=p+3;

6.有如下类定义: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

7.设Address表示整型变量x的地址,则下列语句执行后的输出结果为()。intx=100,&r=x;cout<

A.Address-100

B.100-100

C.Address-Address

D.100-Address

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

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

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

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

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

9.下列关于函数重载的描述中,错误的是()。

A.函数重载就是用相同的函数名定义多个函数

B.重载函数的参数列表必须不同

C.重载函数的返回值类型必须不同

D.重载函数的参数可以带有默认值

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

A.简化程序

B.消除二义性

C.提高运行效率

D.减少目标代码

11.假定k是一个double类型的变量,则关于变量p的正确定义语句为()。

A.doublep=&k

B.int*p=&k

C.double&p=*k

D.char*p=”Thankyou!”

12.下列关于友元的描述中,错误的是()。

A.友元破坏了类的封装性

B.友元提高了程序的运行效率

C.友元可以在类外声明和定义

D.友元能够访问类中的私有成员

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

A.构造函数

B.析构函数

C.友元函数

D.拷贝构造函数

14.一个类的构造函数为“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

15.在下列函数原型中,可以作为类A构造函数的是()。

A.void A(int);

B.int A();

C.A(int) const;

D.A(int);

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

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

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

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

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

17.下列语句中,正确的是()。

A.const int buffer=256;

B.const int temp;

C.int &ref;

D.const int size=100 ;......size=10 ;

18.下列程序的输出结果是()。#includeclassMyClass{public:MyClass(){cout<

A.ABX

B.ABXB

C.AXB

D.AXBB

19.下列关于虚基类的描述中,错误的是()

A.设置虚基类的目的是消除二义性

B.虚基类子对象的初始化由最派生类完成

C.虚基类的构造函数可能调用多次

D.虚基类的构造函数先于非虚基类的构造函数执行

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

A.公有继承的私有成员

B.公有继承的保护成员

C.公有继承的公有成员

D.私有继承的公有成员

21.若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。

A.Fun(5)

B.Fun(5, 'b')

C.Fun(5,8)

D.Fun(2,4, 'b')

22.有如下类声明:classFoo{voidfun();};,则Foo类的成员fun是()。

A.公有数据成员

B.公有成员函数

C.私有数据成员

D.私有成员函数

23.在一个派生类对象结束其生命周期时,下列描述中正确的是()。

A.先调用派生类的析构函数后调用基类的析构函数

B.先调用基类的析构函数后调用派生类的析构函数

C.如果基类没有定义析构函数,则只调用派生类的析构函数

D.如果派生类没有定义析构函数,则只调用基类的析构函数

24.下列关于对象概念的描述中,错误的是()。

A.对象就是C语言中的结构变量

B.对象代表着正在创建的系统中的一个实体

C.对象是状态和操作(或方法)的封装体

D.对象之间的信息传递是通过消息进行的

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

A.参数个数

B.参数类型

C.函数名称

D.函数体

26.print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。

A.void print() const

B.const void print()

C.void const print()

D.void print(const)

27.多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。

A.④③①②

B.②④③①

C.②①③④

D.③④①②

28.下列语句中,会产生编译错误的是()。

A.int x=5; int &ref=x;

B.const int size;

C.int x=5; int &ref=x; x++;

D.const int size=100;

29.执行下列程序后的输出结果是()。#includeintfun1(intx){return++x;}intfun2(int&x){return++x;}intmain(){inta=0,b=0,c=0;c=fun1(a)+fun2(b);cout<

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。