北理工《面向对象程序设计》在线作业0005.docx
《北理工《面向对象程序设计》在线作业0005.docx》由会员分享,可在线阅读,更多相关《北理工《面向对象程序设计》在线作业0005.docx(13页珍藏版)》请在冰豆网上搜索。
![北理工《面向对象程序设计》在线作业0005.docx](https://file1.bdocx.com/fileroot1/2022-10/1/23529e88-c8e5-4137-84c2-fbb23155a822/23529e88-c8e5-4137-84c2-fbb23155a8221.gif)
北理工《面向对象程序设计》在线作业0005
北理工《面向对象程序设计》在线作业-0005
试卷总分:
100得分:
100
一、单选题(共38道试题,共76分)
1.下列情况中,不会调用复制构造函数的是()。
A.用一个对象去初始化同一类的另一个新对象时
B.将类的一个对象赋值给该类的另一个对象时
C.函数的返回值是类的对象,函数执行返回调用时
D.函数的形参是类的对象,调用函数用形参初始化实参时
答案:
B
2.对语句
(1)constint*x;和语句
(2)int*constx;,描述正确的是()。
A.语句
(2)的含义是指针变量x所指向的值不能更改
B.语句
(2)的含义是指针变量x不能更改
C.语句
(1)的含义是指针变量x不能更改
D.语句
(1)和
(2)是相同含义的不同定义方式
答案:
B
3.下列关于类型转换的描述中,正确的是()。
A.赋值表达式的类型是左值的类型
B.类型转换是永久性的
C.由不同类型操作数组成的表达式的类型一定是最高类型double类型
D.强制类型转换都是非保值映射
答案:
A
4.整型变量中,八进制数的数字前面需要加数字()
A.不需要
B.8
C.0X
D.0
答案:
D
5.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
A.重载函数
B.递归函数
C.友元函数
D.内联函数
答案:
D
6.对虚函数的调用()
A.必须使用动态联编
B.不一定使用动态联编
C.一定使用静态联编
D.一定使用动态联编
答案:
B
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]
答案:
A
8.下列函数参数默认值定义错误的是()。
A.Fun(intx,inty=0)
B.Fun(intx,inty)
C.Fun(intx=0,inty=0)
D.Fun(intx=0,inty)
答案:
D
9.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数类型
B.参数个数
C.函数名称
D.函数体
答案:
D
10.下列不是C++基本数据类型的是______。
A.void
B.string
C.int
D.char
答案:
B
11.关于运行时多态的下列描述中,______是错误的。
A.运行时多态是在运行时确定所调用的函数代码的;
B.运行时多态是在编译时确定操作函数的
C.运行时多态是以虚函数为基础的;
D.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
答案:
D
12.在下列的各类函数中,______不是类的成员函数。
A.析构函数
B.构造函数
C.拷贝构造函数
D.友元函数
答案:
C
13.友元运算符obj1>obj2被C++编译器解释为()。
A.operator>(obj1,obj2)
B.obj2.operator>(obj1)
C.obj1.operator>(obj2)
D.>(obj1,obj2)
答案:
A
14.下列关于C++函数的描述中,正确的是()。
A.每个函数都必须返回一个值
B.每个函数至少要有一个参数
C.函数在被调用之前必须先进行声明或定义
D.函数不能自己调用自己
答案:
C
15.下列关于静态数据成员特性的描述中,错误的是()。
A.静态数据成员要在类体外进行初始化
B.静态数据成员不是所有对象所共有的
C.说明静态数据成员时前边要加修饰符static
D.引用静态数据成员时,要在其名称前加<类名>和作用域运算符
答案:
B
16.下列类说明中,错误的是()。
classSample{public:
Sample(intval);//A~Sample();//Bprivate:
inta=2.5;//CSample();//D};
A.//D
B.//C
C.//B
D.//A
答案:
B
17.多继承时对象的构造顺序中包含如下4步:
①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A.④③①②
B.③④①②
C.②④③①
D.②①③④
答案:
D
18.复制构造函数的参数通常为()
A.某个对象的指针名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象名
答案:
C
19.设置虚基类的目的是()。
A.简化程序
B.消除二义性
C.提高运行效率
D.减少目标代码
答案:
B
20.列符号中能够作为C++标识符的是()。
A._shape
B._count
C.const
D.2a
答案:
A
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
答案:
A
22.有如下头文件:
intf1();staticintf2();classMy{public:
intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。
A.f4
B.f3
C.f2
D.f1
答案:
B
23.下列关键字中不能用来声明类成员访问权限的是()。
A.static
B.public
C.protected
D.private
答案:
A
24.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。
A.public和public
B.public和protected
C.protected和public
D.protected和public
E.protected和protected
答案:
C
25.不可以成为类的数据成员的是______
A.自身类的指针或引用
B.自身类的对象
C.另一个类的对象
D.其他基本数据类型
答案:
B
26.print()函数是某类中无返回值的常成员函数,下列表示中,正确的是()。
A.voidprint(const)
B.voidprint()const
C.voidconstprint()
D.constvoidprint()
答案:
B
27.C++中用于实现运行时多态性的是()。
A.静态函数
B.重载函数
C.虚函数
D.内联函数
答案:
C
28.下列关于this指针的描述中,正确的是()。
A.类的非静态成员函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.任何与类相关的函数都有this指针
答案:
A
29.下列关于友元的描述中,错误的是()。
A.友元能够访问类中的私有成员
B.友元破坏了类的封装性
C.友元提高了程序的运行效率
D.友元可以在类外声明和定义
答案:
D
30.下列输出字符'A'的方法中,()是错误的。
A.cout<B.cout<<'A';
C.cout.put('A');
D.charA='A';cout<答案:
A
31.下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;
B.运算符重载可以改变结合性;
C.运算符重载可以改变优先级;
D.运算符重载不可以改变语法结构。
答案:
D
32.假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A.p=newint[10]
B.p=newint**
C.p=newint*
D.p=newint
答案:
C
33.下列描述中,错误的是()。
A.对内联函数不可以进行异常接口声明
B.内联函数的定义必须出现在内联函数第一次被调用之前
C.内联函数主要解决程序的运行效率问题
D.内联函数中可以包括各种语句
答案:
D
34.在横线处填入语句()后,下列语句序列能够正确执行。
。
int*ptr;delete[]ptr;
A.ptr=newint[5];
B.ptr=newint;
C.ptr=newint(5);
D.ptr=malloc(5);
答案:
A
35.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。
A.cout<
B.cout<
C.cout<
D.cout<<*p
答案:
A
36.下列关于成员访问权限的描述中,错误的是()。
A.类的私有数据成员只能被公有成员函数以及该类的友元访问
B.只有类或派生类的成员函数和友元可以访问保护成员
C.公有数据成员和公有成员函数都可以被类对象直接处理
D.保护成员可以在派生类中被访问,而私有成员不可以
答案:
A
37.下面是派生类声明的开始部分,正确的是()。
A.virtualclassB:
publicA
B.classvirtualB:
publicA
C.classB:
virtualpublicA
D.classB:
publicAvirtual
答案:
C
38.下列语句中,会产生编译错误的是()。
A.intx=5;int&ref=x;x++;
B.intx=5;int&ref=x;
C.constintsize=100;
D.constintsize;
答案:
D
二、多选题(共4道试题,共8分)
39.配置图中通常包含两种元素,分别是()
A.节点
B.接口
C.关联关系
D.依赖关系
答案:
AC
40.时序图包含的元素分别是()
A.生命线
B.激活
C.消息
D.对象
答案:
ABCD
41.状态机由()和动作组成
A.转换
B.状态
C.活动
D.事件
答案:
ABCD
42.类中属性的可见性主要包括()
A.私有
B.受保护
C.其它
D.公有
答案:
ABD
三、判断题(共8道试题,共16分)
43.访问对象成员时要使用运算符.或->。
答案:
正确
44.单继承时,派生类中对基类成员的访问也会出现二义性。
答案:
错误
45.构造函数可以被继承
答案:
错误
46.派生类从基类派生而来,不能再生成新的派生类。
答案:
错误
47.只要是类M继承了类N,那么类M就是类N的子类型。
答案:
错误
48.动态联编在运行时选定调用的成员函数。
答案:
正确
49.重载运算符保持原运算符的优先级和结合性不变。
答案:
正确
50.可以在类的构造函数中对静态数据成员进行初始化。
答案:
错误
以下内容可以删除:
我国无效婚姻的法定情形设定的过于狭窄。
前文中笔者对我国现行无效婚姻的立法进行了分析,我国无效婚姻的法定情形只规定了胁迫一种情形。
胁迫是通过告知对方一定的不利结果迫使对方妥协从而做出不真实的意思表境,所侵害的是公民自主决定婚姻的权利。
无效婚姻制度的意义就在于给婚姻中的缔结婚姻时意思表境不自由的当事人予以构构。
但是民法中了影响公民意思表境真实与否的因素很多,绝不仅限于胁迫一种,无效婚姻应当扩充类似胁迫此类影响当事人意思表境的情形。
有学者认为其他影响意思表境而缔结的婚姻当事人可以通过离婚途构解决,笔者认为这种观点是不妥的,因为上无两种制度所