北交《面向对象程序设计》在线作业一-0004
试卷总分:100 得分:100
一、单选题 (共 23 道试题,共 57 分)
1.有如下类声明: class Foo { int bar; }; 则Foo类的成员bar是( )
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
2.下面关于派生类的描述中,( )是错的。
A.一个派生类可以作为另一个派生类的基类
B.派生类至少有一个基类
C.派生类的成员除了它自己的成员外,还包含了它的基类的成员
D.派生类中继承的基类成员的访问权限到派生类保持不变
3.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是 30,50,-88,0 和 0,则下列定义语句中错误的是( )
A.int vect[ ]={30,50,-88};
B.int vect[ ]={30,50,-88,0,0};
C.int vect[5]={30,50,-88};
D.int vect[5]={30,50,-88,0,0};
4.在以下说明中,标识符ptr( )。 int (*ptr)[3];
A.说明不合法
B.是一个指针数组名,每个元素是一个指向整数变量的指针
C.是一个指针数组名,每个元素是一个指向整数变量的指针
D.是一个指向整型变量的指针
5.下列关于模板的叙述中,错误的是( )
A.模板声明中的第一个符号总是关键字template
B.在模板声明中用 <和> 括起来的部分是模板的形参表
C.类模板不能有数据成员
D.在一定条件下函数模板的实参可以省略
6.下列函数中,( )是对文件进行读操作的。
A.read()
B.write()
C.tellg()
D.seekp()
7.假定a为一个整型数组名,则元素a[4]的字节地址为 ( )。
A.a+4
B.a+8
C.a+16
D.a+32
8.下列关于派生类可访问它基类成员的描述中,错误的是( )。
A.派生类可访问它基类中的成员与继承方式有关
B.派生类不可访问它基类中的私有成员
C.公有继承方式下,派生类可访问它基类的私有成员
D.私有继承方式下,派生类可访问它基类中的公有成员和保护成员
9.若一个类中含有纯虚函数,则该类称为( )。
A.基类
B.虚基类
C.抽象类
D.派生类
10.若用数组名作为函数调用时的实参,则实际上传递给形参的是( )
A.数组首地址
B.数组的第一个元素值
C.数组中全部元素的值
D.数组元素的个数
11.在下面的一维数组定义中,哪一个有语法错误。( )
A.int a[ ]={1,2,3}
B.int a[10]={0}
C.int a[ ]
D.int a[5]
12.下列字符列中,可作为C++语言程序自定义标识符是( )
A.switch
B.file
C.break
D.do
13.在进行任何的C++流操作后,都可以用C++流的有关成员函数检测流的状态,用来检测是否到达文件的末尾函数是( )。
A.fail()
B.eof()
C.bad()
D.good()
14.下面( )不是构造函数的特征。
A.构造函数可以重载
B.构造函数可以设置缺省参数
C.构造函数的函数名和类名相同
D.构造函数必须指定返回值类型
15.假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为( )。
A.3
B.4
C.6
D.9
16.结构化程序设计所规定的三种基本控制结构是 ( )
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环
D.主程序、子程序、函数
17.已知枚举类型定义语句为: enum Token { NAME, NUMBER, PLUS = 5, MINUS, PRINT = 10 }; 则下列叙述中错误的是( )(
A.枚举常量NAME的值为1
B.枚举常量NUMBER的值为1
C.枚举常量MINUS的值为6
D.枚举常量PRINT的值为10
18.下面函数的功能是( )。 void fun(char s1[ ], char s2[ ]) { while(s2++=s1++); }(
A.字符串比较
B.字符串复制
C.字符串连接
D.字符串反向
19.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在 函数原型或函数头的前面。
A.in
B.inline
C.inLine
D.InLiner
20.下列对模板的声明中,正确的是( )。
A.template<A,B>
B.template<class A,B>
C.template<typename A,typename B>
D.template<class A;class B>
21.以下保留字( )不能出现在说明虚函数原型的语句中。
A.static
B.operator
C.void
D.const
22.设x和y均为bool量,则x&&y为真的条件是 ( )
A.它们均为真
B.其中一个为真
C.它们均为假
D.其中一个为假
23.面向对象系统不具有( )特性
A.继承性
B.封装性
C.过程性
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.在C++语言中,类是支持数据封装的工具。( )
38.虚函数不能是类的静态成员。( )
39.抽象类中只能有一个纯虚函数。( )
40.常量不能作为左值使用。( )
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777