18秋北理工《面向对象程序设计》在线作业答案满分答案
北理工《面向对象程序设计》在线作业-0005
试卷总分:100 得分:0
一、 单选题 (共 38 道试题,共 76 分)
1.下列情况中,不会调用复制构造函数的是()。
A.用一个对象去初始化同一类的另一个新对象时
B.将类的一个对象赋值给该类的另一个对象时
C.函数的形参是类的对象,调用函数用形参初始化实参时
D.函数的返回值是类的对象,函数执行返回调用时
2.对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。
A.语句(1)的含义是指针变量x不能更改
B.语句(2)的含义是指针变量x所指向的值不能更改
C.语句(2)的含义是指针变量x不能更改
D.语句(1)和(2)是相同含义的不同定义方式
3.下列关于类型转换的描述中,正确的是()。
A.由不同类型操作数组成的表达式的类型一定是最高类型double类型
B.强制类型转换都是非保值映射
C.赋值表达式的类型是左值的类型
D.类型转换是永久性的
4.整型变量中,八进制数的数字前面需要加数字()
A.8
B.0X
C.不需要
D.0
5.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
A.重载函数
B.内联函数
C.递归函数
D.友元函数
6.对虚函数的调用()
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
7.定义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]
8.下列函数参数默认值定义错误的是()。
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)
9.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数个数
B.参数类型
C.函数名称
D.函数体
10.下列不是C++基本数据类型的是______。
A.int
B.string
C.char
D.void
11.关于运行时多态的下列描述中,______是错误的。
A.运行时多态是以虚函数为基础的;
B.运行时多态是在运行时确定所调用的函数代码的;
C.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
D.运行时多态是在编译时确定操作函数的
12.在下列的各类函数中,______不是类的成员函数。
A.构造函数
B.析构函数
C.友元函数
D.拷贝构造函数
13.友元运算符obj1>obj2被C++编译器解释为()。
A.operator >(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator >(obj1)
D.obj1.operator >(obj2)
14.下列关于C++函数的描述中,正确的是()。
A.每个函数至少要有一个参数
B.每个函数都必须返回一个值
C.函数在被调用之前必须先进行声明或定义
D.函数不能自己调用自己
15.下列关于静态数据成员特性的描述中,错误的是()。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.静态数据成员不是所有对象所共有的
D.引用静态数据成员时,要在其名称前加<类名>和作用域运算符
16.下列类说明中,错误的是()。classSample{public:Sample(intval);//A~Sample();//Bprivate:inta=2.5;//CSample();//D};
A.//A
B.//B
C.//C
D.//D
17.多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A.④③①②
B.②④③①
C.②①③④
D.③④①②
18.复制构造函数的参数通常为()
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
19.设置虚基类的目的是()。
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
20.列符号中能够作为C++标识符的是()。
A.const
B.2a
C._shape
D._count
21.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。
A.char*p=s
B.char*p=&s
C.char*p;p=*s
D.char*p;p=&s
22.有如下头文件:intf1();staticintf2();classMy{public:intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。
A.f1
B.f2
C.f3
D.f4
23.下列关键字中不能用来声明类成员访问权限的是()。
A.public
B.static
C.protected
D.private
24.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。
A.public和public
B.public和protected
C.protected和public
D.protected和public
E.protected和protected
25.不可以成为类的数据成员的是______
A.自身类的对象
B.另一个类的对象
C.自身类的指针或引用
D.其他基本数据类型
26.print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。
A.void print() const
B.const void print()
C.void const print()
D.void print(const)
27.C++中用于实现运行时多态性的是()。
A.内联函数
B.重载函数
C.静态函数
D.虚函数
28.下列关于this指针的描述中,正确的是()。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数都有this指针
29.下列关于友元的描述中,错误的是()。
A.友元破坏了类的封装性
B.友元提高了程序的运行效率
C.友元可以在类外声明和定义
D.友元能够访问类中的私有成员
30.下列输出字符'A'的方法中,()是错误的。
A.cout<<put('A');
B.cout<<'A';
C.cout.put('A');
D.char A='A';cout<<A;
31.下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;
B.运算符重载可以改变优先级;
C.运算符重载可以改变结合性;
D.运算符重载不可以改变语法结构。
32.假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A.p=newint
B.p=newint*
C.p=newint**
D.p=newint[10]
33.下列描述中,错误的是()。
A.内联函数主要解决程序的运行效率问题
B.内联函数的定义必须出现在内联函数第一次被调用之前
C.内联函数中可以包括各种语句
D.对内联函数不可以进行异常接口声明
34.在横线处填入语句()后,下列语句序列能够正确执行。。int*ptr;delete[]ptr;
A.ptr=new int(5);
B.ptr=new int[5];
C.ptr=new int;
D.ptr=malloc(5);
35.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。
A.cout<<*p
B.cout<<p
C.cout<<p
D.cout<<p
36.下列关于成员访问权限的描述中,错误的是()。
A.公有数据成员和公有成员函数都可以被类对象直接处理
B.类的私有数据成员只能被公有成员函数以及该类的友元访问
C.只有类或派生类的成员函数和友元可以访问保护成员
D.保护成员可以在派生类中被访问,而私有成员不可以
37.下面是派生类声明的开始部分,正确的是()。
A.class virtual B : public A
B.virtual class B : public A
C.class B : public A virtual
D.class B : virtual public A
38.下列语句中,会产生编译错误的是()。
A.int x=5; int &ref=x;
B.const int size;
C.int x=5; int &ref=x; x++;
D.const int size=100;
18秋北理工《面向对象程序设计》在线作业答案多选题答案
二、 多选题 (共 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.只要是类M继承了类N,那么类M就是类N的子类型。
A.错误
B.正确
6.动态联编在运行时选定调用的成员函数。
A.错误
B.正确
7.重载运算符保持原运算符的优先级和结合性不变。
A.错误
B.正确
8.可以在类的构造函数中对静态数据成员进行初始化。
A.错误
B.正确
18秋北理工《面向对象程序设计》在线作业答案历年参考题目如下: