新浪首页 > 新浪教育 > 自学考试 > 正文

2004年自考面向对象程序设计模拟试题(二)

http://www.sina.com.cn 2004/10/21 14:25  华夏大地教育网

  


  二,填空题(本大题共10小题,共20分)

    不写解答过程,将正确的答案写在每小题的空格内。错填或不填均无分。

  11.面向对象程序设计中的多态性包括静态多态性和动态多态性,前者由____________机制支持,而后者则由____________机制支持。

       答:函数重载、虚函数

  [解析]静态多态性又称编译时多态性,调用何函数应该在编译之前就知道了,所以必须由函数重载机制来支持。动态多态性又称运行时多态性,调用何函数只有在运行时才知道,所以由虚函数(与指针或引用)机制来支持。

  12.由char const *str=”stucture”;所以定义的指针称为____________,关键字const 所修饰的是____________。

       答:指向常量的指针、指针所指的字符串

  [解析]根据由‘*’在修饰符“const”中位置的不同,它所修饰的对象也不同,“const ”表示所修饰的是指针所指的常量,该指针称为指向常量的指针;“* const”表示所修饰的是指针本身,该指针称为常指针;“* const *”则表示所修饰的是指针本身和指针所指常量,该指针称为指向常量的常指针。

  13.引入虚基类的目的是为了解决多重继承中的____________和____________问题。

       答:二义性、多占用空间

  [解析]在允许多重继承时可能出现两个问题,第一个是公有派生类中的成员通过不同基类调用它们上一级公共基类的同一成员,这就产生了调用的二义性;每一个基类都为它们的上一级公共基类存有备份,这就引起了公共基类的重复存储,也就多占了存储空间。引入虚基类的目的是为了解决多重继承中的这两个问题。

  14.派生类中所定义的虚函数的____________不影响对它的动态联编,即基类中已定义的虚函数,其同名函数放在派生类中的__________,都可以实现运行时多态性。

       答:访问属性、任何地方

  [解析]对虚函数的能否在类外调用,取决于基类中定义它时是否具有公的访问属性,而派生类中重新定义的虚函数的访问属性不影响它的特性,即对它的动态联编。也即基类中已定义的虚函数,其同名函数放在派生类中的任何地方,都可以实现运行时多态性。

  15.构造函数与析构函数所调用的虚函数是____________的函数,因此调用时实现的是____________联编。

       答:所在类、静态

  [解析]在生成派生类的对象时,先调用基类的构造函数生成基类对象,再调用派生类的构造函数来生成派生类对象。所以当在构造函数中调用虚函数时,当调用基类的构造函数时,此时派生类还未生成,所以它只能调用自己的虚函数;调用派生类构造函数时,它也只能调用自己的虚函数,因为虚函数的调用是不能由派生类调用基类的。在析构派生类对象是时,先调用派生类的析构函数析构掉派生类对象,再调用基类的析构函数来析够掉基类的对象。所以当在析够构函数中调用虚函数时,派生类的析构函数调用的是它自己的虚函数(原因同构造函数),基类的析构函数调用的也是它自己的虚函数,因为此时派生类对象以已被析构掉了。由上可见,当构造函数与析够函数调用虚函数时,它们调用的都是自己类的函数,因此调用时实现的是静态联编。

  16.C++的____________规则能保证编译器调用正确的成员函数。有时为更保险地保证编译器调用正确的成员函数,可以使用____________操作符。

       答:作用域、作用域分辨符

  [解析]C++的作用域规则能隐式地保证编译器调用正确的成员函数。为清楚地显式地保证编译器调用正确的成员函数,可以使用作用域分辨操作符::,使用“类名::成员函数”来说明该成员函数属于哪个类。

  17.说明一个const成员函数(又称常量成员函数)的方法是,将const写在__________之间,而且它修饰的是__________。

       答:函数头与函数体、this指针

  [解析]为了说明一个常量成员函数的方法是,将const写在函数头的右圆括号‘)’与函数体的左花括号‘{’之间,而且它修饰的是对象所属的this指针。表示该函数不能修改它所在对象中的数据成员的值。

  18.除析构函数外,不能带有参数的函数还有____________,而且它的返回数据类型不能随便指定,而由____________来决定。

       答:类型转换函数、return语句中返回变量的类型

  [解析]除析构函数外,不能带有参数的函数还有类型转换函数,类型转换函数的返回数据类型是不能随便指定的,必须由return语句中返回变量的类型来决定。

  19.当使用new动态生成一个对象时,隐含着对____________的一次调用;而当使用delete删除一个对象时,隐含着对____________的一次调用。

       答:构造函数、析构函数

  [解析]当使用new动态生成一个对象时,隐含着对构造函数的一次调用,用来生成对象;而当使用delete删除一个对象时,隐含着对析构函数的一次调用,以析构需删除的对象。

  20.对某个运算符的重载,实际上是用关键字____________与该运算符组成一个运算符函数,而且该运算符函数的返回类型不能是____________的。

       答:operater、void

  [解析]对某个运算符的重载,实际上是用关键字operater 与该运算符组成一个运算符函数,而且该运算符函数的返回类型不能是无类型的,即不能是void的。


  特别说明:由于各方面情况的不断调整与变化,新浪网所提供的所有考试信息仅供参考,敬请考生以权威部门公布的正式信息为准。


评论】 【推荐】 【 】 【打印】 【下载点点通】 【关闭


    



新 闻 查 询
关键词一
关键词二
服饰 首饰 手机
电器 MP3 数码相机
热 点 专 题
中超俱乐部酝酿大变革
阿里汉下课几成定局
北京新交法听证报告
考研大讲堂 报考指南
2004中华小姐环球大赛
京城劣质楼盘备忘录
调查:南方周末创富榜
安妮宝贝笔记连载
全国万家餐馆网友热评

 
 ⊙ 分类信息 投资赚钱的秘密武器!糖尿病你往哪里逃! 权威医院治愈高血压!
·高血压人要“解放”! ·治疗皮肤癣最新成果 ·治股骨头坏死新突破 ·如果你有胃肠道疾病?
·今年哪些项目最赚钱? ·几千元创业的好项目 ·好生意,一月收回投资! ·疤痕疙瘩、痤疮一扫光
·香港女鞋女包火爆招商 ·小项目玩赚大市场 ·幼教新模式火爆全球 ·权威治皮肤顽疾白斑症
·男人酷女人爱赚男人钱 ·投资几千元快活做老板 ·攻克皮肤癣,靓丽肌肤 ·280-1680元治愈糖尿病
 



文化教育意见反馈留言板电话:010-62630930-5178 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 招聘信息 | 网站律师 | SINA English | 产品答疑

Copyright © 1996 - 2004 SINA Inc. All Rights Reserved

版权所有 新浪网
北京市通信公司提供网络带宽