北理工20年春季《面向对象程序设计》在线作业_2.doc
- 格式:doc
- 大小:15.99 KB
- 文档页数:10
1.整型变量中,八进制数的数字前面需要加数字()A.8B.0XC.不需要D.0【参考答案】: D2.下列关于静态数据成员特性的描述中,错误的是()。
A.说明静态数据成员时前边要加修饰符staticB.静态数据成员要在类体外进行初始化C.静态数据成员不是所有对象所共有的D.引用静态数据成员时,要在其名称前加类名和作用域运算符【参考答案】: C3.一个类的构造函数为“B(intax,intbx):a(ax),b(bx){}”,执行“Bx(1,2),y(3,4);x=y;”语句序列后x.a的值为______。
A.1B.2C.3D.4【参考答案】: A4.下列运算符中,在C++中不能重载的是()。
A._B.()C.::D.||【参考答案】: C5.下列关于C++函数的描述中,正确的是()。
A.每个函数至少要有一个参数B.每个函数都必须返回一个值C.函数在被调用之前必须先进行声明或定义D.函数不能自己调用自己【参考答案】: C6.下列关于成员访问权限的描述中,错误的是()。
A.公有数据成员和公有成员函数都可以被类对象直接处理B.类的私有数据成员只能被公有成员函数以及该类的友元访问C.只有类或派生类的成员函数和友元可以访问保护成员 D.保护成员可以在派生类中被访问,而私有成员不可以【参考答案】: B7.下列函数中,不是类的成员函数的是()。
A.构造函数B.友元函数C.析构函数D.复制构造函数【参考答案】: B8.下列关于this指针的描述中,正确的是()。
A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数都有this指针【参考答案】: D9.下列关于继承的描述中,错误的是()。
A.派生类对象不能访问基类的保护成员B.派生类对基类成员的访问权限随着继承方式而改变C.派生类成员可以访问基类的私有成员D.派生类继承了基类的所有成员【参考答案】: C10.有如下头文件:intf1();staticintf2();classMy{public:intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。
A.f1B.f2C.f3D.f4【参考答案】: C11.下列输出字符'A'的方法中,()是错误的。
A.coutput('A');B.cout'A';C.cout.put('A');D.charA='A';coutA;【参考答案】: A12.下列关键字中不能用来声明类成员访问权限的是()。
A.publicB.staticC.protectedD.private【参考答案】: B13.假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A.p=newintB.p=newint*C.p=newint**D.p=newint[10]【参考答案】: B14.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s 所指向的同一个字符串,则应选取()。
A.char*p=sB.char*p=&sC.char*p;p=*sD.char*p;p=&s【参考答案】: A15.C++中用于实现运行时多态性的是()。
A.内联函数B.重载函数C.静态函数D.虚函数【参考答案】: D16.若有如下函数声明:voidFun(int);,则下列()不能与该函数进行重载。
A.void Fun(int,int);B.void Fun(double);C.intFun(int); D.void Fun(int) const【参考答案】: C17.对虚函数的调用()A.一定使用动态联编B.必须使用动态联编C.一定使用静态联编D.不一定使用动态联编【参考答案】: D18.下列关于类型转换的描述中,正确的是()。
A.由不同类型操作数组成的表达式的类型一定是最高类型double类型B.强制类型转换都是非保值映射C.赋值表达式的类型是左值的类型D.类型转换是永久性的【参考答案】: C19.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。
A.1B.4C.sizeof(double)D.sizeof(p)【参考答案】: C20.下列说法不正确的是_______。
A.在类中,成员的默认访问特性是私有的B.类封装了数据和操作。
C.类实质上是一种数据类型。
D.在类的定义中,必须包含private、public、protected三种存取方式对应得部分。
【参考答案】: A21.下列情况中,不会调用复制构造函数的是()。
A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数用形参初始化实参时D.函数的返回值是类的对象,函数执行返回调用时【参考答案】: B22.下列关于构造函数和析构函数的描述中,错误的是()。
A.构造函数可以重载B.析构函数名与类名相同C.构造函数中可以设置参数的默认值D.类中只有一个析构函数23.列符号中能够作为C++标识符的是()。
A.constB.2aC._shapeD._count【参考答案】: C24.友元运算符obj1>obj2被C++编译器解释为()。
A.operator (obj1,obj2)B.(obj1,obj2)C.obj2.operator(obj1) D.obj1.operator (obj2)【参考答案】: A25.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。
A.public和publicB.public和protectedC.protected和public D.protected和public E.protected和protected【参考答案】: C26.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数个数B.参数类型C.函数名称D.函数体【参考答案】: D27.下列程序的输出结果是()。
#include<iostream.h>classMyClass{public:MyClass(){cout<<'A';} MyClass(charc){cout<<c;}~MyClass(){cout<<'B';}};intmain(){MyC lassp1,*p2;p2=newMyClass('X');deletep2;return0;A.ABXB.ABXBC.AXBD.AXBB28.下列关于堆运算符的描述中,错误的是()。
A.使用堆运算符可以动态建立或删除对象B.可以在使用new[]创建数组时,为每个数组元素指定初始值C.new运算符创建对象时要调用构造函数 D.delete运算符可以作用于空指针【参考答案】: B29.在下列的各类函数中,______不是类的成员函数。
A.构造函数B.析构函数C.友元函数D.拷贝构造函数【参考答案】: D30.下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;B.运算符重载可以改变优先级;C.运算符重载可以改变结合性;D.运算符重载不可以改变语法结构。
【参考答案】: D31.定义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]【参考答案】: A32.派生类对象对它的基类成员中()是可以访问的。
A.公有继承的私有成员B.公有继承的保护成员C.公有继承的公有成员 D.私有继承的公有成员【参考答案】: C33.下列函数参数默认值定义错误的是()。
A.Fun(int x=0,int y=0)B.Fun(int x,int y)C.Fun(int x,inty=0) D.Fun(int x=0,int y)【参考答案】: D34.下列对引用的陈述中不正确的是()。
A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间【参考答案】: C35.有如下类声明:classMyClass{public:MyClass(){cout<<1;}};执行语句MyClassa,b[2],*p[2];后,程序的输出结果是()。
A.11B.111C.1111D.11111【参考答案】: B36.有如下类定义:classMyClass{public:intgetRef()const{return&a;}intgetValue()const{returna;}voidset(intn)const{a=n;}friendvoidshow(MyClassobj)const{cout<<a;}};下列函数中,定义正确的是()。
A.getRefB.getValueC.setD.show【参考答案】: B37.下列关于派生类的描述中,错误的是()。
A.派生类继承了基类的所有成员B.派生类能够作为基类继续派生新类C.派生类可以有多个直接基类D.派生类的默认继承方式是public【参考答案】: D38.设置虚基类的目的是_____。
A.简化程序;B.消除二义性;C.提高运行效率;D.减少目标代码;【参考答案】: B39.配置图中通常包含两种元素,分别是()A.节点B.依赖关系C.关联关系D.接口【参考答案】: AC40.时序图包含的元素分别是()A.对象B.生命线C.消息D.激活【参考答案】: ABCD41.状态机由()和动作组成A.状态B.转换C.事件D.活动【参考答案】: ABCD42.实际的建模过程中,可以把节点分()A.处理器B.设备C.应用软件D.系统软件【参考答案】: AB43.一个类的构造函数中可以不包含对其子对象的初始化A.错误B.正确【参考答案】: A44.可以在类的构造函数中对静态数据成员进行初始化。
A.错误B.正确【参考答案】: A45.派生类从基类派生而来,不能再生成新的派生类。
A.错误B.正确【参考答案】: A46.某类中的友元类的所有成员函数都可以存取或修改该类中的私有成员。
A.错误B.正确【参考答案】: B47.单继承时,派生类中对基类成员的访问也会出现二义性。