北交《面向对象程序设计》在线作业二-0001
试卷总分:100 得分:100
一、单选题 (共 23 道试题,共 57 分)
1.作用域运算符的功能是( )
A.给定作用域的大小
B.表示作用域的级别的
C.某个成员是属于哪个类的
D.指出作用域的范围的
2.下面( )不是构造函数的特征。
A.构造函数可以重载
B.构造函数可以设置缺省参数
C.构造函数的函数名和类名相同
D.构造函数必须指定返回值类型
3.若一个类中含有纯虚函数,则该类称为( )。
A.基类
B.虚基类
C.抽象类
D.派生类
4.用关键字( )标记的函数被称为虚函数。
A.virtual
B.private
C.public
D.protected
5.下列关于this指针的叙述中,正确的是( )
A.任何与类相关的函数都有this指针
B.类的成员函数都有this指针
C.类的友元函数都有this指针
D.类的非静态成员函数才有this指针
6.有如下函数模板定义: 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);
7.下面函数的功能是( )。 void fun(char s1[ ], char s2[ ]) { while(s2++=s1++); }(
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
8.已知在一个类体中包含如下函数原型: VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是( )
A.这是运算符-的重载运算符函数
B.这个函数所重载的运算符是一个一元运算符
C.这是一个成员函数
D.这个函数不改变类的任何数据成员的值
9.已知枚举类型定义语句为: enum Token { NAME, NUMBER, PLUS = 5, MINUS, PRINT = 10 }; 则下列叙述中错误的是( )(
A.枚举常量NAME的值为1
B.枚举常量NUMBER的值为1
C.枚举常量MINUS的值为6
D.枚举常量PRINT的值为10
10.在每个C++程序中都必须包含有这样一个函数,该函数的函数名( )。
A.main
B.MAIN
C.name
D.function
11.下列关于C++函数的叙述中,正确的是()
A.每个函数至少要具有一个参数
B.每个函数都必须返回一个值
C.函数在被调用之前必须先声明
D.函数不能自己调用自己
12.下列对模板的声明中,正确的是( )。
A.template<A,B>
B.template<class A,B>
C.template<typename A,typename B>
D.template<class A;class B>
13.下列关于派生类可访问它基类成员的描述中,错误的是( )。
A.派生类可访问它基类中的成员与继承方式有关
B.派生类不可访问它基类中的私有成员
C.公有继承方式下,派生类可访问它基类的私有成员
D.私有继承方式下,派生类可访问它基类中的公有成员和保护成员
14.下列关于类和对象的叙述中,错误的是( )
A.一个类只能有一个对象
B.对象是类的具体实例
C.类是对某一类对象的抽象
D.类和对象的关系是一种数据类型与变量的关系
15.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: ( )
A.AB operator+(AB & a , AB & b)
B.AB operator+(AB & a)
C.operator+(AB a)
D.AB & operator+( )
16.执行语句序列 int i=0; while(i<25) i+=3; cou<<i; 输出结果是/( )
A.24
B.25
C.27
D.28
17.下列函数中,( )是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
18.在进行任何的C++流操作后,都可以用C++流的有关成员函数检测流的状态,用来检测是否到达文件的末尾函数是( )。
A.fail()
B.eof()
C.bad()
D.good()
19.下列不合法的变量名为( )
A.int
B.int1
C.name_1
D.name0
20.下列字符列中,可作为C++语言程序自定义标识符是( )
A.switch
B.file
C.break
D.do
21.文件操作中,打开文件的访问模式常量中,( )是以追加方式打开文件的。
A.ios::in
B.ios::out
C.ios::binary
D.ios::ate
22.关于虚函数的描述中,正确的是()
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
23.for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是()
A.0
B.5
C.6
D.无数次
二、多选题 (共 2 道试题,共 5 分)
24.下列函数中,可以作为虚函数的是( )。
A.普通函数
B.非静态成员函数
C.构造函数
D.析构函数
25.下面关于析构函数描述正确的是( )
A.系统可以提供默认的析构函数
B.析构函数必须由用户定义
C.析构函数没有参数
D.析构函数可以设置默认参数
三、判断题 (共 15 道试题,共 37 分)
26.一般对象和指向对象指针的成员函数表示分别是运算符.和->。( )
27.派生类不能作为基类派生出新类。( )
28.变量必须先定义后赋值。( )
29.抽象类中只能有一个纯虚函数。( )
30.一个类可以作为另一个类的友元类。( )
31.构造函数的定义必须在类体内 。( )
32.抽象类只能用作其他类的基类。( )
33.类的友元函数可以直接访问该类的所有成员。( )
34.纯虚函数是一种不给出具体实现的虚函数。( )
35.析构函数是不能重载的 。( )
36.在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。( )
37.多重继承中,派生类构造函数对其基类构造函数的执行顺序取决于它成员函数初始化表中说明的基类顺序。( )
38.在派生过程中,派生类吸收包括构造函数和析构函数在内的所有基类成员。( )
39.派生类的成员函数可以直接访问基类的所有成员。( )
40.用new动态申请的内存是在堆中分配的,而不是在栈中分配的。( )
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777