19春北理工《面向对象程序设计》在线作业[答案]满分答案
北理工《面向对象程序设计》在线作业-0001
试卷总分:100 得分:0
一、 单选题 (共 38 道试题,共 76 分)
1.整型变量中,八进制数的数字前面需要加数字()
A.8
B.0X
C.不需要
D.0
2.下列关于静态数据成员特性的描述中,错误的是()。
A.说明静态数据成员时前边要加修饰符static
B.静态数据成员要在类体外进行初始化
C.静态数据成员不是所有对象所共有的
D.引用静态数据成员时,要在其名称前加<类名>和作用域运算符
3.一个类的构造函数为“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
4.下列运算符中,在C++中不能重载的是()。
A._
B.()
C.::
D.||
5.下列关于C++函数的描述中,正确的是()。
A.每个函数至少要有一个参数
B.每个函数都必须返回一个值
C.函数在被调用之前必须先进行声明或定义
D.函数不能自己调用自己
6.下列关于成员访问权限的描述中,错误的是()。
A.公有数据成员和公有成员函数都可以被类对象直接处理
B.类的私有数据成员只能被公有成员函数以及该类的友元访问
C.只有类或派生类的成员函数和友元可以访问保护成员
D.保护成员可以在派生类中被访问,而私有成员不可以
7.下列函数中,不是类的成员函数的是()。
A.构造函数
B.友元函数
C.析构函数
D.复制构造函数
8.下列关于this指针的描述中,正确的是()。
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数都有this指针
9.下列关于继承的描述中,错误的是()。
A.派生类对象不能访问基类的保护成员
B.派生类对基类成员的访问权限随着继承方式而改变
C.派生类成员可以访问基类的私有成员
D.派生类继承了基类的所有成员
10.有如下头文件:intf1();staticintf2();classMy{public:intf3();staticintf4();};在上述4个函数中,具有隐含的this指针的是()。
A.f1
B.f2
C.f3
D.f4
11.下列输出字符'A'的方法中,()是错误的。
A.cout<<put('A');
B.cout<<'A';
C.cout.put('A');
D.char A='A';cout<<A;
12.下列关键字中不能用来声明类成员访问权限的是()。
A.public
B.static
C.protected
D.private
13.假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A.p=newint
B.p=newint*
C.p=newint**
D.p=newint[10]
14.变量s的定义为“char*s=”Helloworld!”;”,要使变量p指向s所指向的同一个字符串,则应选取()。
A.char*p=s
B.char*p=&s
C.char*p;p=*s
D.char*p;p=&s
15.C++中用于实现运行时多态性的是()。
A.内联函数
B.重载函数
C.静态函数
D.虚函数
16.若有如下函数声明:voidFun(int);,则下列()不能与该函数进行重载。
A.void Fun(int,int);
B.void Fun(double);
C.int Fun(int);
D.void Fun(int) const
17.对虚函数的调用()
A.一定使用动态联编
B.必须使用动态联编
C.一定使用静态联编
D.不一定使用动态联编
18.下列关于类型转换的描述中,正确的是()。
A.由不同类型操作数组成的表达式的类型一定是最高类型double类型
B.强制类型转换都是非保值映射
C.赋值表达式的类型是左值的类型
D.类型转换是永久性的
19.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。
A.1
B.4
C.sizeof(double)
D.sizeof(p)
20.下列说法不正确的是_______。
A.在类中,成员的默认访问特性是私有的
B.类封装了数据和操作。
C.类实质上是一种数据类型。
D.在类的定义中,必须包含private、public、protected三种存取方式对应得部分。
21.下列情况中,不会调用复制构造函数的是()。
A.用一个对象去初始化同一类的另一个新对象时
B.将类的一个对象赋值给该类的另一个对象时
C.函数的形参是类的对象,调用函数用形参初始化实参时
D.函数的返回值是类的对象,函数执行返回调用时
22.下列关于构造函数和析构函数的描述中,错误的是()。
A.构造函数可以重载
B.析构函数名与类名相同
C.构造函数中可以设置参数的默认值
D.类中只有一个析构函数
23.列符号中能够作为C++标识符的是()。
A.const
B.2a
C._shape
D._count
24.友元运算符obj1>obj2被C++编译器解释为()。
A.operator >(obj1,obj2)
B.>(obj1,obj2)
C.obj2.operator >(obj1)
D.obj1.operator >(obj2)
25.如果派生类以protected方式继承基类,则基类的protected成员和public成员在派生中的访问权限分别为()。
A.public和public
B.public和protected
C.protected和public
D.protected和public
E.protected和protected
26.在派生类中重新定义虚函数时,除了()方面,其他方面都必须与基类中相应的虚函数保持一致。
A.参数个数
B.参数类型
C.函数名称
D.函数体