ImageVerifierCode 换一换
格式:DOC , 页数:19 ,大小:40.50KB ,
资源ID:1159284      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1159284.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(2002年10月全国高等教育自学考试面向对象程序设计试题.doc)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

2002年10月全国高等教育自学考试面向对象程序设计试题.doc

1、一、单项选择题 ( 在每小题的四个备选答案中选出一个正确答案,并将其号码填在题干的括号内。每小题 2 分,共 20 分 ) 1. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 ( ) A. 类 B. 对象 C. 函数体 D. 数据块 2. 面向对象的程序设计语言必须具备的关键要素是 ( ) A. 抽象和封装 B. 抽象和多态性 C. 抽象、封装、继承和多态性 D. 抽象、封装和继承性 3. 类的构造函数被自动调用执行的情况是在定义该类的 ( ) A. 成员函数时 B. 数据成员时 C. 对象时 D. 友元函数时 4. 设有函数模板 template Q

2、Sum(Qx,Qy) return(x)+(y); 则下列语句中对该函数模板 错误 的使用是 ( ) A.Sum(10,2); B.Sum(5.0,6.7) ; C.Sum(15.2f,16.0f); D.Sum( AB , CD ); 5. 已知类 A 是类 B 的友元,类 B 是类 C 的友元,则 ( ) A. 类 A 一定是类 C 的友元 B. 类 C 一定是类 A 的友元 C. 类 C 的成员函数可以访问类 B 的对象的任何成员 D. 类 A 的成员函数可以访问类 B 的对象的任何成员 6. 如果表达式 +i*k 中的“ + ”和“ * ”都是重载的友元运算符,则采用运算符函数调用格式

3、,该表达式还可表示为 ( ) A.operator*(i.operator+(),k) B.operator*(operator+(i),k) C.i.operator+().operator*(k) D.k.operator*(operator+(i) 7. 下列说法中正确的是 ( ) A. 类定义中只能说明函数成员的函数头,不能定义函数体 B. 类中的函数成员可以在类体中定义,也可以在类体之外定义 C. 类中的函数成员在类体之外定义时必须要与类声明在同一文件中 D. 在类体之外定义的函数成员不能操作该类的私有数据成员 8. 若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定

4、是基类中的 ( ) A. 私有成员 B. 公有成员 C. 保护成员 D. 保护成员或私有成员 9. 对基类和派生类的关系描述中, 错误 的是 ( ) A. 派生类是基类的具体化 B. 基类继承了派生类的属性 C. 派生类是基类定义的延续 D. 派生类是基类的特殊化 10. 类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func(),p 是一个指向类 A 对象的指针,则 p-A:func() 将 ( ) A. 调用类 A 中的函数 func() B. 调用类 B 中的函数 func() C. 根据 p 所指的对象类型而确定调用类 A 中或类 B 中的函数 func() D.

5、 既调用类 A 中函数,也调用类 B 中的函数 二、填空题 ( 每小题 2 分,共 20 分 ) 11. 假定用户没有给一个名为 AB 的类定义析构函数,则系统自动给出的缺省析构函数定义为 _ 。 12. 模板定义中标识类型的参数必须用关键字 _ 修饰。 13. 表达式 counthex 还可表示为 _ 。 14. 通过 C+ 语言中的 _ 机制,可以从现存类中构建其子类。 15. 要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加 _ 实现。 16. 封装要求一个对象应具备明确的功能,并具有 _ 以便和其它对象相互作用。 17. 在删除一个动态对象时,将自动调用该动态对象所属类

6、的 _ 函数。 18. 静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是 _ 。 19. 在下面的类定义中,私有成员有 _ 。 class Location int X,Y; protected: int zeroX,zerxY; int SetZero(intzeroX, intzeroY); private: int length,height; public: void init(int initX,int initY); int GetX(); int GetY(); ; 20. 类的私有成员只能被它的成员函数和 _ 访问。 三、改错题 ( 每小题 2 分,共 10 分

7、 ) 21. 此类定义有一处错误,请指出错误并改正。 class ABC int a; public: ABC(int aa)a(aa) ; 22. 下面程序通过调用函数模板实现计算两个正整数的最大公约数,把 main 函数中错误找出并改正过来。 #include template T gcd(Tx,Ty) while(x! =y) if(xy)x-=y; else y-=x; return x; void main() int a; double d; cinad; coutgcd(a,d)endl; 23. 指出下面程序中的错误,并说明出错原因。 #include class ConstF

8、un public: void ConstFun() const int f5()constreturn 5; int Obj() return 45; int val; int f8(); ; int ConstFun:f8()return val; void main() const ConstFun s; int i=s.f5(); cout Value= iendl; 24. 指出下面程序中的错误,并说明错误原因。 #include class A public:void fun()cout a.fun endl; ; class B public:void fun()cout b.f

9、un endl; void gun()cout b.gun endl; ; class C:public A,public B private:int b; public:void gun()cout c.gun endl; ; void main() c obj; obj.fun(); obj.gun(); 25. 指出下面程序段中的错误,并说明出错原因。 class Location int X,Y; protected: int zeroX,zeroY; int SetZero(int zeroX,int zeroY)X=zeroX;Y=zeroY; private: int lengt

10、h,height; public: float radius; void init(int initX,int initY)length=initX;height=initY; int GetX()return X; int GetY()return Y; ; int main() Location retangleA=25,20,3,5,6,7,3; return 0; 四、完成程序题 ( 每小题 4 分,共 20 分 ) 根据题目要求填空,完成程序。 26. 在下面程序段横线处填上适当的内容。 class A _ int n; public: A(int nn=0):n(nn) if(n=

11、0)a=0; else a=new int n ; _/ 定义析构函数,释放动态数组空间 ; 27. 在下面程序横线处填上适当内容,使程序执行结果为: 200_ _ 100 程序如下: #include template _ Tf(Tx,Ty) if(sizeof(T)=_) return x+y; else return x*y; void main() cout f(10,20) - f(45.5,54.5)endl; 28. 下面程序三次调用同一函数 sum ,在横线处填上适当内容,使输出结果为: S=2 S=5 S=9 程序如下: #include void sum(int i) st

12、atic int s; _; cout S= sendl; void main (void) int i; for (i=0;_) sum(i); 29. 请在下面横线处填上适当的内容,使程序的输出为: 7.00000 7 程序如下: #include viod main() double x=7; cout_x; coutendl_x; 30. 在下面程序横线处填上适当的内容,使该程序输出结果为: Creating B end of B end of A 程序如下: #include class A public: A() _cout end of A endl; ; calss B:public A public: B()_ B()cout end of B endl; ; v

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1