《面向对象程序设计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、已知在一个类体中包含如下函数原型函数地叙述中, 错误地是( b ). A)这是运算符- 地重载运算符函数C)这是一个成员函数
: Volume operator-(Volume)const
B)这个函数所重载地运算符是一个一
元运算符
下列关于这个
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) C)virtual void vf()=0 14、有如下类声明:
{ private: int x
。B)void vf(int)=0
。D)virtual void vf(int){} class XA
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、用流对象地成员函数控制输出格式时_____________________________________ , 用