18春北理工《面向对象程序设计》在线作业答案答案
北理工《面向对象程序设计》在线作业-0004
试卷总分:100 得分:0
一、 单选题 (共 38 道试题,共 76 分)
1.关于运行时多态的下列描述中,______是错误的。
A.运行时多态是以虚函数为基础的;
B.运行时多态是在运行时确定所调用的函数代码的;
C.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D.运行时多态是在编译时确定操作函数的
正确选项:----
2.在下列函数原型中,可以作为类A构造函数的是()。
A.void A(int);
正确答案:----
B.int A();
C.A(int) const;
D.A(int);
正确答案:----
3.复制构造函数的参数通常为()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
正确选项:----
4.释放一个类的对象时,系统自动调用()。
A.构造函数
B.析构函数
C.成员函数
D.友元函数
正确选项:----
专业答案:----
5.下列函数中,不是类的成员函数的是()。
A.构造函数
B.友元函数
C.析构函数
D.复制构造函数
正确选项:----
6.设置虚基类的目的是()。
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
正确选项:----
7.对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。
A.语句(1)的含义是指针变量x不能更改
B.语句(2)的含义是指针变量x所指向的值不能更改
C.语句(2)的含义是指针变量x不能更改
D.语句(1)和(2)是相同含义的不同定义方式
正确选项:----
8.下列对引用的陈述中不正确的是()。
A.每一个引用都是其所引用对象的别名,因此必须初始化
B.形式上针对引用的操作实际上作用于它所引用的对象
C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D.不需要单独为引用分配存储空间
专业答案:----
9.下列关于类成员的描述中,正确的是()。
A.友元函数是类的成员函数
B.类成员的默认访问权限是私有的
C.类成员函数必须声明为公有的
D.类的静态数据成员不能是常成员
正确答案:----
10.若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
专业答案:----
A.Fun(5)
B.Fun(5, 'b')
C.Fun(5,8)
D.Fun(2,4, 'b')
正确选项:----
11.下列关于静态数据成员特性的描述中,错误的是()。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.静态数据成员不是所有对象所共有的
D.引用静态数据成员时,要在其名称前加<类名>和作用域运算符
正确答案:----
12.下列描述中,错误的是()。
A.内联函数主要解决程序的运行效率问题
B.内联函数的定义必须出现在内联函数第一次被调用之前
C.内联函数中可以包括各种语句
D.对内联函数不可以进行异常接口声明
专业答案:----
13.执行下列程序后的输出结果是()。#include<iostream.h>intfun1(intx){return++x;}intfun2(int&x){return++x;}intmain(){inta=0,b=0,c=0;c=fun1(a)+fun2(b);cout<<a<<b<<c<<endl;return0;}
专业答案:----
A.002
B.012
C.102
D.112
专业答案:----
14.下列关于类型转换的描述中,正确的是()。
A.由不同类型操作数组成的表达式的类型一定是最高类型double类型
正确选项:----
B.强制类型转换都是非保值映射
C.赋值表达式的类型是左值的类型
D.类型转换是永久性的
正确选项:----
15.下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;
B.运算符重载可以改变优先级;
C.运算符重载可以改变结合性;
D.运算符重载不可以改变语法结构。
正确答案:----
16.表达式18/4*sqrt(4.0)/5的数据类型是()。
A.int
B.float
C.double
正确答案:----
D.不确定
正确答案:----
17.不可以成为类的数据成员的是______
A.自身类的对象
B.另一个类的对象
C.自身类的指针或引用
D.其他基本数据类型
专业答案:----
18.下列语句中,会产生编译错误的是()。
A.int x=5; int &ref=x;
B.const int size;
C.int x=5; int &ref=x; x++;
D.const int size=100;
正确答案:----
19.下列关于成员访问权限的描述中,错误的是()。
A.公有数据成员和公有成员函数都可以被类对象直接处理
B.类的私有数据成员只能被公有成员函数以及该类的友元访问
C.只有类或派生类的成员函数和友元可以访问保护成员
D.保护成员可以在派生类中被访问,而私有成员不可以
正确答案:----
20.下列关于虚基类的描述中,错误的是()
A.设置虚基类的目的是消除二义性
B.虚基类子对象的初始化由最派生类完成
C.虚基类的构造函数可能调用多次
D.虚基类的构造函数先于非虚基类的构造函数执行
正确选项:----
21.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
A.重载函数
B.内联函数
C.递归函数
D.友元函数
22.派生类对象对它的基类成员中()是可以访问的。
A.公有继承的私有成员
B.公有继承的保护成员
C.公有继承的公有成员
D.私有继承的公有成员
专业答案:----
23.定义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]
正确选项:----
24.下列关键字中不能用来声明类成员访问权限的是()。
A.public
B.static
C.protected
D.private
正确选项:----
25.下列不是C++基本数据类型的是______。
A.int
B.string
C.char
D.void
正确答案:----
26.关于封装,下列说法中不正确的是()。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体
B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C.通过封装,每个对象都成为相对独立的实体
D.通过封装,对象的属性都是不可见的
正确选项:----