北理工20年春季《面向对象程序设计》在线作业.doc
- 格式:doc
- 大小:16.07 KB
- 文档页数:9
1.关于运行时多态的下列描述中,______是错误的。
A.运行时多态是以虚函数为基础的;B.运行时多态是在运行时确定所调用的函数代码的;C.用基类指针或引用所标识的派生类对象来操作虚函数才能实现运行时多态;D.运行时多态是在编译时确定操作函数的【参考答案】: C2.在下列函数原型中,可以作为类A构造函数的是()。
A.void A(int);B.int A();C.A(int) const;D.A(int);【参考答案】: D3.复制构造函数的参数通常为()A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名【参考答案】: C4.释放一个类的对象时,系统自动调用()。
A.构造函数B.析构函数C.成员函数D.友元函数【参考答案】: B5.下列函数中,不是类的成员函数的是()。
A.构造函数B.友元函数C.析构函数D.复制构造函数【参考答案】: B6.设置虚基类的目的是()。
A.简化程序B.消除二义性C.提高运行效率D.减少目标代码【参考答案】: B7.对语句(1)constint*x;和语句(2)int*constx;,描述正确的是()。
A.语句(1)的含义是指针变量x不能更改B.语句(2)的含义是指针变量x所指向的值不能更改C.语句(2)的含义是指针变量x不能更改D.语句(1)和(2)是相同含义的不同定义方式【参考答案】: C8.下列对引用的陈述中不正确的是()。
A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间【参考答案】: C9.下列关于类成员的描述中,正确的是()。
A.友元函数是类的成员函数B.类成员的默认访问权限是私有的C.类成员函数必须声明为公有的D.类的静态数据成员不能是常成员【参考答案】: B10.若函数原型为voidFun(intx,inty=6,intchar='a'),则下列调用错误的是()。
A.Fun(5)B.Fun(5, 'b')C.Fun(5,8)D.Fun(2,4, 'b')【参考答案】: B11.下列关于静态数据成员特性的描述中,错误的是()。
A.说明静态数据成员时前边要加修饰符staticB.静态数据成员要在类体外进行初始化C.静态数据成员不是所有对象所共有的D.引用静态数据成员时,要在其名称前加类名和作用域运算符【参考答案】: C12.下列描述中,错误的是()。
A.内联函数主要解决程序的运行效率问题B.内联函数的定义必须出现在内联函数第一次被调用之前C.内联函数中可以包括各种语句D.对内联函数不可以进行异常接口声明【参考答案】: C13.执行下列程序后的输出结果是()。
#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.002B.012C.102D.112【参考答案】: B14.下列关于类型转换的描述中,正确的是()。
A.由不同类型操作数组成的表达式的类型一定是最高类型double类型B.强制类型转换都是非保值映射C.赋值表达式的类型是左值的类型D.类型转换是永久性的【参考答案】: C15.下列关于运算符重载的描述中,______是正确的。
A.运算符重载可以改变运算数的个数;B.运算符重载可以改变优先级;C.运算符重载可以改变结合性;D.运算符重载不可以改变语法结构。
【参考答案】: D16.表达式18/4*sqrt(4.0)/5的数据类型是()。
A.intB.floatC.doubleD.不确定【参考答案】: C17.不可以成为类的数据成员的是______A.自身类的对象B.另一个类的对象C.自身类的指针或引用D.其他基本数据类型【参考答案】: A18.下列语句中,会产生编译错误的是()。
A.int x=5; int ref=x;B.const int size;C.int x=5; int ref=x; x;D.const int size=100;【参考答案】: B19.下列关于成员访问权限的描述中,错误的是()。
A.公有数据成员和公有成员函数都可以被类对象直接处理B.类的私有数据成员只能被公有成员函数以及该类的友元访问C.只有类或派生类的成员函数和友元可以访问保护成员D.保护成员可以在派生类中被访问,而私有成员不可以【参考答案】: B20.下列关于虚基类的描述中,错误的是()A.设置虚基类的目的是消除二义性B.虚基类子对象的初始化由最派生类完成C.虚基类的构造函数可能调用多次D.虚基类的构造函数先于非虚基类的构造函数执行【参考答案】: C21.将一些函数体代码不是很大,但被频繁调用的函数定义为(),可以解决程序中函数调用的效率问题。
A.重载函数B.内联函数C.递归函数D.友元函数【参考答案】: B22.派生类对象对它的基类成员中()是可以访问的。
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]【参考答案】: A24.下列关键字中不能用来声明类成员访问权限的是()。
A.publicB.staticC.protectedD.private【参考答案】: B25.下列不是C++基本数据类型的是______。
A.intB.stringC.charD.void【参考答案】: B26.关于封装,下列说法中不正确的是()。
A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的【参考答案】: D27.多继承时对象的构造顺序中包含如下4步:①所有非虚基类的构造函数按照它们被继承的顺序构造;②所有虚基类的构造函数按照它们被继承的顺序构造;③所有子对象的构造函数按照它们声明的顺序构造;④派生类自己的构造函数体;这4个步骤的正确顺序是()。
A.④③①②B.②④③①C.②①③④D.③④①②28.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数个数B.参数类型C.函数名称D.函数体【参考答案】: D29.下面是派生类声明的开始部分,正确的是()。
A.class virtual B : public AB.virtual class B : public AC.classB : public A virtual D.class B : virtual public A【参考答案】: D30.下列输出字符'A'的方法中,()是错误的。
A.coutput('A');B.cout'A';C.cout.put('A');D.charA='A';coutA;【参考答案】: A31.设Address表示整型变量x的地址,则下列语句执行后的输出结果为()。
intx=100,&r=x;cout<<x<<'-'<<&r<<endl;A.Address-100B.100-100C.Address-AddressD.100-Address【参考答案】: D32.列符号中能够作为C++标识符的是()。
A.constB.2aC._shapeD._count【参考答案】: C33.C++中用于实现运行时多态性的是()。
A.内联函数B.重载函数C.静态函数D.虚函数【参考答案】: D34.在横线处填入语句()后,下列语句序列能够正确执行。
int*ptr;delete[]ptr;A.ptr=new int(5);B.ptr=new int[5];C.ptr=newint; D.ptr=malloc(5);【参考答案】: B35.有如下类声明:classMyClass{public:MyClass(){cout<<1;}};执行语句MyClassa,b[2],*p[2];后,程序的输出结果是()。
A.11B.111C.1111D.11111【参考答案】: B36.下列情况中,不会调用复制构造函数的是()。
A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数用形参初始化实参时D.函数的返回值是类的对象,函数执行返回调用时【参考答案】: B37.下列关于this指针的描述中,正确的是()。
A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数都有this指针【参考答案】: D38.整型变量中,八进制数的数字前面需要加数字()A.8B.0XC.不需要D.0【参考答案】: D39.实际的建模过程中,可以把节点分()A.处理器B.设备C.应用软件D.系统软件【参考答案】: AB40.状态机由()和动作组成A.状态B.转换C.事件D.活动【参考答案】: ABCD41.类中属性的可见性主要包括()A.公有B.私有C.其它D.受保护【参考答案】: ABD42.配置图中通常包含两种元素,分别是()A.节点B.依赖关系C.关联关系D.接口【参考答案】: AC43.重载运算符保持原运算符的优先级和结合性不变。
A.错误B.正确【参考答案】: B44.一个类的构造函数中可以不包含对其子对象的初始化A.错误B.正确【参考答案】: A45.单继承时,派生类中对基类成员的访问也会出现二义性。
A.错误B.正确【参考答案】: A46.只要是类M继承了类N,那么类M就是类N的子类型。
A.错误B.正确【参考答案】: A47.可以在类的构造函数中对静态数据成员进行初始化。
A.错误B.正确【参考答案】: A48.派生类从基类派生而来,不能再生成新的派生类。
A.错误B.正确【参考答案】: A49.构造函数可以被继承A.错误B.正确【参考答案】: A50.某类中的友元类的所有成员函数都可以存取或修改该类中的私有成员。