02328考全国2007年10月面向对象程序设计试.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HYPERLINK 超越60自考网 全国2007年10月高等教育自学考试 面向对象程序设计试题 课程代码:02328 一、单项选择题(本大题共10小题,每小题2分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括 号内。错选、多选或未选均无分。 1.以下说法中正确的是( ) A.C++程序总是从第一个定义的函数开始执行 B.C++程序总是从main函数开始执行 C.C++函数必须有返回值,否则不能使用函数 D.C++程序中有调用关系的所有函数必须放在同一个程序文件中 2.以下关于函数模板叙述正确的是( ) A.函数模板也是一个具体类型的函数 B.函数模板的类型参数与函数的参数是同一个概念 C.通过使用不同的类型参数,函数模板可以生成不同类型的函数 D.用函数模板定义的函数没有类型 3.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是( ) A.作为友元函数重载的1元运算符 B.作为成员函数重载的1元运算符 C.作为友元函数重载的2元运算符 D.作为成员函数重载的2元运算符 4.构造函数不具备的特征是 ( ) A.构造函数的函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置默认参数 D.构造函数必须指定类型说明 5.在C++中,封装是借助什么达到的( ) A.结构 B.数组 C.类 D.函数 6.在哪种情况下适宜采用 inline 定义内联函数?( ) A.函数体含有循环语句 B.函数体含有递归语句 C.函数代码少、频繁调用 D.函数代码多、不常调用 7.在关键字public后面定义的成员为类的( ) A.私有成员 B.公用成员 C.保护成员 D.任何成员 8. 以下哪个基类中的成员函数表示纯虚函数?( ) A.virtual void tt()=0 B.void tt(int) = 0 C.virtual void tt(int) D.virtual void tt(int){} 9.假定AA是一个类,“AA* abc()const;”是该类中一个成员函数的原型,若该函数返回this 值,当用x.abc()调用该成员函数后,x的值( ) A.已经被改变 B.可能被改变 C.不变 D.受到函数调用的影响 10.C++ 对 C 语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 二、填空题(本大题共10小题,每小题2分,共20分) 请在每小题的空格中填上正确答案。错填、不填均无分。 11.如果一个派生类只有一个唯一的基类,则这样的继承关系称为____________。 12.C++支持两种多态性:____________时的多态性和运行时的多态性。 13.若要保证一个公共的基类在派生类中只产生一个基类子对象,则必须都以____________的方式直接继承它。 14.所有模板都以template关键字和一个____________表开头。 15.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的____________语句。 16.类型转换函数没有返回值类型,而且参数表为____________。 17.C++提供的预处理命令有嵌入指令,条件编译指令和____________。 18.对象将其大部分实现细节隐藏起来,这种机制称为____________。 19.定义类动态对象数组时,其元素只能靠自动调用该类的____________来进行初始化。 20.在函数体之前加____________关键字可以防止覆盖函数改变数据成员的值。 三、改错题(本大题共2小题,每小题6分,共12分) 21.下面是分数类fract的定义及测试主程序,在类定义及其友元函数定义中1到6行中有三处错误,更正错误后程序应显示41/28,请指出错误所在行的行号并给出改正意见。 class fract{ int den; //分子 int num; //分母 public //1行 fract(int d=0,int n=1):den(d),num(n){} //2行 friend fract operator+=(fract,fract); //3行 void show(){ coutden’/’num;} //4行 }; //5行 friend fract operator+=(fract f1,fract f 2) //6行 {

您可能关注的文档

文档评论(0)

mv2323 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档