北京理工大学《面向对象程序设计》在线作业二
奥鹏北京理工大学新学期作业参考
北理工《面向对象程序设计》在线作业-00002
1.一个类的构造函数为“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
正确答案问询微信:424329
2.假定k是一个double类型的变量,则关于变量p的正确定义语句为()。
选项A:doublep=
选项B:2. void fun(int)=0;
选项C:virtual int fun(int);
选项D:virtual void fun(int) {}
正确答案问询微信:424329
3.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
选项A:参数个数
选项B:参数类型
选项C:函数名称
选项D:函数体
正确答案问询微信:424329
4.有如下类定义:classMyClass{public:intgetRef()const{return}intgetValue()const{returna;}voidset(intn)const{a=n;}friendvoidshow(MyClassobj)const{couta;}};下列函数中,定义正确的是()。
选项A:getRef
选项B:getValue
选项C:set
选项D:show
正确答案问询微信:424329
5.下列关于对象概念的描述中,错误的是()。
选项A:对象就是C语言中的结构变量
选项B:对象代表着正在创建的系统中的一个实体
选项C:对象是状态和操作(或方法)的封装体
选项D:对象之间的信息传递是通过消息进行的
正确答案问询微信:424329
6.下列运算符中,在C++中不能重载的是()。
选项A:_
选项B:()
选项C:::
选项D:||
正确答案问询微信:424329
7.在C++中,扩充类定义需要借助于()。
选项A:对象
选项B:继承
选项C:重载
选项D:函数
正确答案问询微信:424329
8.下列关于派生类的描述中,错误的是()。
选项A:派生类继承了基类的所有成员
选项B:派生类能够作为基类继续派生新类
选项C:派生类可以有多个直接基类
选项D:派生类的默认继承方式是public
正确答案问询微信:424329
9.多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
选项A:④③①②
选项B:②④③①
选项C:②①③④
选项D:③④①②
正确答案问询微信:424329
10.有如下类声明:classFoo{voidfun();};,则Foo类的成员fun是()。
选项A:公有数据成员
选项B:公有成员函数
选项C:私有数据成员
选项D:私有成员函数
正确答案问询微信:424329
11.下列语句中,会产生编译错误的是()。
选项A:int x=5; int
选项B:const int size;
选项C:int x=5; int x++;
选项D:const int size=100;
正确答案问询微信:424329
12.下列关于类型转换的描述中,正确的是()。
选项A:由不同类型操作数组成的表达式的类型一定是最高类型double类型
选项B:强制类型转换都是非保值映射
选项C:赋值表达式的类型是左值的类型
选项D:类型转换是永久性的
正确答案问询微信:424329
13.下列关于类成员的描述中,正确的是()。
选项A:友元函数是类的成员函数
选项B:类成员的默认访问权限是私有的
选项C:类成员函数必须声明为公有的
选项D:类的静态数据成员不能是常成员
正确答案问询微信:424329
14.表达式18/4*sqrt(4.0)/5的数据类型是()。
选项A:int
选项B:float
选项C:double
选项D:不确定
正确答案问询微信:424329
15.释放一个类的对象时,系统自动调用()。
选项A:构造函数
选项B:析构函数
选项C:成员函数
选项D:友元函数
正确答案问询微信:424329
16.下列语句中,正确的是()。
选项A:const int buffer=256;
选项B:const int temp;
选项C:int
选项D:const int size=100 ;……size=10 ;
正确答案问询微信:424329
17.下列输出字符'A'的方法中,()是错误的。
选项A:coutput('A');
选项B:cout'A';
选项C:cout.put('A');
选项D:char A='A';coutA;
正确答案问询微信:424329
18.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。
选项A:002
选项B:012
选项C:102
选项D:112
正确答案问询微信:424329
19.关于运行时多态的下列描述中,______是错误的。
选项A:运行时多态是以虚函数为基础的;
选项B:运行时多态是在运行时确定所调用的函数代码的;
选项C:用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;
选项D:运行时多态是在编译时确定操作函数的
正确答案问询微信:424329
20.在下面的类定义中,横线处应填入的内容是()。classMyClass{private:staticintcount;};count=0;
选项A:int
选项B:static int
选项C:int MyClass
选项D:static int MyClass:
正确答案问询微信:424329
21.若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
选项A:Fun(5)
选项B:Fun(5, 'b')
选项C:Fun(5,8)
选项D:Fun(2,4, 'b')
正确答案问询微信:424329
22.在一个派生类对象结束其生命周期时,下列描述中正确的是()。
选项A:先调用派生类的析构函数后调用基类的析构函数
选项B:先调用基类的析构函数后调用派生类的析构函数
选项C:如果基类没有定义析构函数,则只调用派生类的析构函数
选项D:如果派生类没有定义析构函数,则只调用基类的析构函数
正确答案问询微信:424329
23.下列关于成员访问权限的描述中,错误的是()。
选项A:公有数据成员和公有成员函数都可以被类对象直接处理
选项B:类的私有数据成员只能被公有成员函数以及该类的友元访问
选项C:只有类或派生类的成员函数和友元可以访问保护成员
选项D:保护成员可以在派生类中被访问,而私有成员不可以
正确答案问询微信:424329
24.在下列的各类函数中,______不是类的成员函数。
选项A:构造函数
选项B:析构函数
选项C:友元函数
选项D:拷贝构造奥鹏北京理工大学新学期作业参考函数
正确答案问询微信:424329
25.下列程序的输出结果是()。#includeiostream.hclassMyClass{public:MyClass(){cout'A';}MyClass(charc){coutc;}~MyClass(){cout'B';}};intmain(){MyClassp1,*p2;p2=newMyClass('X');deletep2;return0;
选项A:ABX
选项B:ABXB
选项C:AXB
选项D:AXBB
正确答案问询微信:424329
26.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
选项A:重载函数
选项B:内联函数
选项C:递归函数
选项D:友元函数
正确答案问询微信:424329
27.下列对引用的陈述中不正确的是()。
选项A:每一个引用都是其所引用对象的别名,因此必须初始化
选项B:形式上针对引用的操作实际上作用于它所引用的对象
选项C:一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
选项D:不需要单独为引用分配存储空间
正确答案问询微信:424329
28.假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。
选项A:cout*p
选项B:coutp
选项C:coutp
选项D:coutp
正确答案问询微信:424329
29.下列关于堆运算符的描述中,错误的是()。
选项A:使用堆运算符可以动态建立或删除对象
选项B:可以在使用new[]创建数组时,为每个数组元素指定初始值
选项C:new运算符创建对象时要调用构造函数
选项D:delete运算符可以作用于空指针
正确答案问询微信:424329
30.下列描述中,正确的是()
选项A:虚函数是一个static 类型的成员函数
选项B:虚函数是一个非成员函数
选项C:抽象类是指具有纯虚函数的类
选项D:抽象类可以说明其对象
正确答案问询微信:424329
31.若有语句int*p=newint[5];int*pi;则以下语句中,执行时会造成delete[]p语句的执行出错的是______。
选项A:(*p)++;
选项B:p++;
选项C:pi = p;;
选项D:pi=p+3;
正确答案问询微信:424329
32.列符号中能够作为C++标识符的是()。
选项A:const
选项B:2a
选项C:_shape
选项D:_count
正确答案问询微信:424329
33.下列说法不正确的是_______。
选项A:在类中,成员的默认访问特性是私有的
选项B:类封装了数据和操作。
选项C:类实质上是一种数据类型。
选项D:在类的定义中,必须包含private、public、protected三种存取方式对应得部分。
正确答案问询微信:424329
34.已知函数f的原型是voidf(int*x,doubley);,变量i1、d2的定义为:inti1;doubled2;,则下列函数调用语句中,正确的是()。
选项A:f(i1,d2);
选项B:f(
选项C:f(i1,
选项D:f(
正确答案问询微信:424329
35.下列函数参数默认值定义错误的是()。
选项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)
正确答案问询微信:424329
36.设置虚基类的目的是()。
选项A:简化程序
选项B:消除二义性
选项C:提高运行效率
选项D:减少目标代码
正确答案问询微信:424329
37.实际的建模过程中,可以把节点分()
选项A:处理器
选项B:设备
选项C:应用软件
选项D:系统软件
正确答案问询微信:424329
38.配置图中通常包含两种元素,分别是()
选项A:节点
选项B:依赖关系
选项C:关联关系
选项D:接口
正确答案问询微信:424329
39.类中属性的可见性主要包括()
选项A:公有
选项B:私有
选项C:其它
选项D:受保护
正确答案问询微信:424329
40.状态机由()和动作组成
选项A:状态
选项B:转换
选项C:事件
选项D:活动
正确答案问询微信:424329
41.一个类的构造函数中可以不包含对其子对象的初始化
选项A:错误
选项B:正确
正确答案问询微信:424329
42.重载运算符保持原运算符的优先级和结合性不变。
选项A:错误
选项B:正确
正确答案问询微信:424329
43.派生类从基类派生而来,不能再生成新的派生类。
选项A:错误
选项B:正确
正确答案问询微信:424329
44.单继承时,派生类中对基类成员的访问也会出现二义性。
选项A:错误
选项B:正确
正确答案问询微信:424329
45.只要是类M继承了类N,那么类M就是类N的子类型。
选项A:错误
选项B:正确
正确答案问询微信:424329
46.构造函数可以被继承
选项A:错误
选项B:正确
正确答案问询微信:424329
47.动态联编在运行时选定调用的成员函数。
选项A:错误
选项B:正确
正确答案问询微信:424329
48.某类中的友元类的所有成员函数都可以存取或修改该类中的私有成员。
选项A:错误
选项B:正确
正确答案问询微信:424329