北交20春季《面向对象程序设计》在线作业一_2.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的
加法,并返回相加结果,则该成员函数的声明语句为:()
A.AB operator(AB a , AB b)
B.AB operator(AB a)
C.operator(AB a)
D.AB operator( )
【参考答案】: B
2.面向对象系统不具有()特性
A.继承性
B.封装性
C.过程性
D.多态性
【参考答案】: C
3.有如下类声明: class Foo { int bar; }; 则Foo类的成员bar是( )
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函
数
【参考答案】: C
4.下列函数中,()是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
【参考答案】: A
5.若用数组名作为函数调用时的实参,则实际上传递给形参的是()
A.数组首地址
B.数组的第一个元素值
C.数组中全部元素的值
D.数
组元素的个数
【参考答案】: A
6.使用如setfill()的操作符对数据进行格式输出时,应包含( )头文
件。
A.iostream
B.fstream
C.iomanip
D.stdlib
【参考答案】: C
7.下列运算符中,不能被重载的是()。
A.【】
B..
C.()
D./
【参考答案】: B
8.文件操作中,打开文件的访问模式常量中,()是以追加方式打开
文件的。
A.ios::in
B.ios::out
C.ios::binary
D.ios::ate
【参考答案】: D
9.C++语言的跳转语句中,对于break和continue说法正确的是()
A.break语句只应用于循环体中
B.continue语句只应用于循环体
中 C.break是无条件跳转语句,continue不是 D.break和continue的跳转范围不够明确,容易产生问题
【参考答案】: B
10.设x和y均为bool量,则x || y为假的条件是( )。
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
【参考答案】: C
11.用关键字()标记的函数被称为虚函数。
A.virtual
B.private
C.public
D.protected
【参考答案】: A
12.有如下类声明: class MyBASE{ int k; public: void set(int
n){ k=n;} int get( )const{ return k; } }; class MyDERIVED:
protected MyBASE{ protected: int j; public: void set(int m, int
n){MyBASE::set(m); j=n;} int get( )const{ return
MyBASE::get( )+j; } }; 则类MyDERIVE
A.4
B.3
C.2
D.1
【参考答案】: B
13.关于虚函数的描述中,正确的是()
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
【参考答案】: C
14.有如下函数模板定义: template T func(T x, T y) { return
x*x+y*y; } 在下列对func的调用中,错误的是( )
A.func(3, 5);
B.func(3.0, 5.5);
C.func (3, 5.5);
D.func(3,
5.5);
【参考答案】: C
15.结构化程序设计所规定的三种基本控制结构是()
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
【参考答案】: C
16.下面关于析构函数特征的描述正确的是()。
A.一个类中可以定义多个析构函数
B.析构函数名与类名相同
C.析构函数不能指定返回类型
D.析构函数可以有一个或多个参数
【参考答案】: C
17.有如下程序: #include using namespace std; class Test { public: Test( ) { n+=2; } ~Test( ) { n-=3; } static int getNum( ) { return n; } private: static int n; }; int Test::n = 1; int main( ) { Test* p = new Test; delete p; cout << "n=" << Test::getNum( ) << end
A.n=0
B.n=1
C.n=2
D.n=3
【参考答案】: A
18.以下保留字()不能出现在说明虚函数原型的语句中。
A.static
B.operator
C.void
D.const
【参考答案】: A
19.下列的各函数中,()不是类的成员函数。
A.构造函数
B.析构函数
C.拷贝初始化构造函数
D.友元函数
【参考答案】: D
20.下列不合法的变量名为()
A.int
B.int1
_1
0
【参考答案】: A
21.下列有关类的说法不正确的是()。
A.对象是类的一个实例
B.任何一个对象只能属于一个具体的类
C.一个
类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似
【参考答案】: C
22.已知在一个类体中包含如下函数原型: VOLUME
operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )
A.这是运算符-的重载运算符函数
B.这个函数所重载的运算符是一个一元运算符
C.这是一个成员函数
D.这个函数不改变类的任何数据成员的
值
【参考答案】: B
23.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。
A.in
B.inline
C.inLine
D.InLiner
【参考答案】: B
24.下列函数中,可以作为虚函数的是()。
A.普通函数
B.非静态成员函数
C.构造函数
D.析构函数
【参考答案】: BD
25.下面关于析构函数描述正确的是()
A.系统可以提供默认的析构函数
B.析构函数必须由用户定义
C.析构函
数没有参数 D.析构函数可以设置默认参数
【参考答案】: AC
26.在类体内允许对数据成员进行初始化。
()
A.错误
B.正确
【参考答案】: A
27.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。
()
A.错误
B.正确
【参考答案】: A
28.子对象的初始化在其构造函数的成员初始化列表中实现。
()
A.错误
B.正确
【参考答案】: B
29.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。
()
A.错误
B.正确
【参考答案】: B
30.一般对象和指向对象指针的成员函数表示分别是运算符.和->。
()
A.错误
B.正确
【参考答案】: B
31.作为模板类型参数的关键字class,特别含义是“任何用户定义类的类型”。
()
A.错误
B.正确
【参考答案】: A
32.常量不能作为左值使用。
()
A.错误
B.正确
【参考答案】: B
33.使用const说明常量时,可以不必指出类型.()
A.错误
B.正确
【参考答案】: A
34.在类的定义中,引入友元的原因是提高效率。
()
A.错误
B.正确
【参考答案】: B
35.纯虚函数是一种不给出具体实现的虚函数。
()
A.错误
B.正确
【参考答案】: B
36.友元类中所有成员函数都是友元函数。
()
A.错误
B.正确
【参考答案】: B
37.以app方式打开文件时,当前指针定位于文件尾。
()
A.错误
B.正确
【参考答案】: B
38.派生类不能作为基类派生出新类。
()
A.错误
B.正确
【参考答案】: A
39.静态数据成员函数是属于某个对象的。
()
A.错误
B.正确
【参考答案】: A
40.类的友元函数可以直接访问该类的所有成员。
()
A.错误
B.正确【参考答案】: B。