《面向对象程序设计C 》期末考试考题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
封面
作者:PanHongliang
仅供个人学习
《面向对象程序设计C++》期末考试试卷
一、选择题(每小题3分,共48分.)
01、下列关于C++函数地叙述中,正确地是( c ).
A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值
C)函数在被调用之前必须先声明 D)函数不能自己调用自己
02、下列关于类和对象地叙述中,错误地是( a ).
A)一个类只能有一个对象B)对象是类地具体实例
C)类是对某一类对象地抽象D)类和对象地关系是一种数据类型与变量地关系
03、在C++中,用于实现运行时多态性地是( d ).
A)内联函数 B)重载函数 C)模板函数 D)虚函数
04、下列关于运算符重载地叙述中,正确地是( b ).
A)通过运算符重载,可以定义新地运算符B)有地运算符只能作为成员函数重载
C)若重载运算符+,则相应地运算符函数名是+ D)重载二元运算符时,必须声明两个形参
06、有如下类声明,则类MyDERIVED中保护地数据成员和成员函数地个数是(b ).
class MyBASE
{ private: 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。 } }。
A)4 B)3 C)2 D)1
07、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const。,下列关于这个函数地叙述中,错误地是( b ).
A)这是运算符-地重载运算符函数B)这个函数所重载地运算符是一个一元运算符
C)这是一个成员函数D)这个函数不改变类地任何数据成员地值
08( a ).
cout.fill('*')。 cout.width(6)。 cout.fill('#')。 cout << 123 << endl。
A)###123 B)123### C)***123 D)123***
09、在下列函数原型中,可以作为类AA构造函数地是( d ).
A)void AA(int)。 B)int AA()。 C)AA(int)const。 D)AA(int)。
10、下面四个选项中,( a)是用来声明虚函数地.
A)virtual B)public C)include D)using namespace
11、实现运行时地多态性要使用( d ).
A)重载函数 B)构造函数 C)析构函数 D)虚函数
12、要实现动态联编,必须通过( a )调用虚函数.
A)对象指针B)成员名限定C)对象名 D)派生类名
13、以下( c )成员函数表示纯虚函数.
A)virtual int vf(int)。 B)void vf(int)=0。
C)virtual void vf()=0。 D)virtual void vf(int){}
14、有如下类声明:class XA
{ private: int x。
public: XA(int n){ x=n。} }。
class XB: public XA
{ private: int y。
public: XB(int a,int b)。 }。
在构造函数XB地下列定义中,正确地是( b ).
A)XB::XB(int a,int b): x(a),y(b){ }B)XB::XB(int a,int b): XA(a),y(b){ }
C)XB::XB(int a,int b): x(a),XB(b){ } D)XB::XB(int a,int b): XA(a),XB(b){ }
15、在表达式 x+y*z中, + 是作为成员函数重载地运算符,* 是作为非成员函数重载地运算符.则 operator+ 有个参数,operator* 有参数.( c )
A)2、2 B)2、1 C)1、2 D)1、1
16、应在下列程序划线处填入地正确语句是( c ).
class Base
{ public:
void fun(){cout<<"Base::fun"< class Derived:public Base { void fun() { //显示调用基类地函数fun() cout<<"Derived::fun"< A)fun()。 B)Base.fun()。 C)Base::fun()。 D) Base->fun()。 二、填空题(每空2分,共20分.) 17、面向对象程序设计有四个主要特点,即抽象、封装、____和____. 18、非成员函数应声明为类地____函数才能访问这个类地private成员. 19、派生类中地成员不能直接访问基类中地____成员. 20、在用class定义一个类时,数据成员和成员函数地默认访问权限是____. 21、运算符重载函数可能是类地____函数,也可以是类地____函数,还可以是普通函数. 22、用流对象地成员函数控制输出格式时,用于设置字段宽度地流成员函数地名称是____,与之作用相同地控制符名称是____.