面向对象2期末考试试题及参考答案
面向对象程序设计(专科)复习题二
一、单选题
1.下列关于友元函数的说法,正确的是()。()
A、提高程序的运行效率
B、增强类的封装性
C、实现数据的隐藏性
D、增加成员函数的种类
2.下列关于在类中定义的静态数据成员的说法,正确的是()()
A、该类的每个对象都有一个静态数据成员
B、对象创建时产生
C、在类外进行初始化
D、既可以在类外初始化,也可以在类内初始化
3.有如下类定义:
classPoint{
intx_,y_;
public:
Point():x_(0),y_(0){}
Point(intx,inty=0):x_(x),y_(y){}
};
若执行语句:Pointa(2),b[3],*c[4];则Point类的构造函数被调
用的次数是():()
A、2次
B、3次
C、4次
D、5次
4.若类B公有继承自类A,则定义B类对象和撤销B类对象时,
调用构造函数和析构函数的次序为()。()
A、AB;BA
B、AB;AB
C、BA;AB
D、BA;AB
5.在公有派生的前提下,下列说法错误的是()。()
A、在一个赋值语句中,等号的左边是一个基类对象时,右边可以
是一个派生类对象
B、若B是A的派生类,且有默认的构造函数,则语句Aa=
*newB
C、在一个返回值为基类指针的函数中,可以返回一个派生类对象
的地址
D、在调用一个形参类型为派生类引用的函数时,可以将一个基类
对象作为实参
6.类B是类A的公有派生类,类A和类B中都定义了虚函数
func(),p是一个指向类A对象的指针,则p-A::func()将()()
A、调用类A中的函数func()
B、调用类B中的函数func()
C、根据p所指的对象类型而确定调用类A中或类B中的函数
func()
D、既调用类A中函数,也调用类B中的函数
7.下列不能作为类的成员的是()。()
A、自身类对象的指针