全国计算机二级c++模拟卷02.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
全国计算机二级c模拟卷02

上机部分   一、改错题   使用VC6打开考生文件夹下的工程kt2_1,此工程包含一个源程序文件kt2_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:   Vehiclemessage   Carmessage   Vehiclemessage   源程序文件kt2_1.cpp清单如下:   #includeiostream.h   classvehicle   {   intwheels;   floatweight;   public:   voidmessage(void){coutVehiclemessage\n;}   };   classcar:publicvehicle   {   intpassenger_load; public:   voidmessage(void){coutCarmessage\n;}   };   classtruck:publicvehicle   {   intpassenger_load;   floatpayload;   public:   intpassengers(void){returnpassenger_load;}   };   voidmain()   {   vehicle*unicycle;   unicycle=newvehicle;   unicycle.message();   deleteunicycle;   unicycle=newcar;   unicycle-message(); deleteunicycle;   unicycle=newtruck;   unicycle-message();   deleteunicycle;   }   【参考答案】   (1)将void message(void){ coutVehicle message\n;}   改为:virtual void message(void){ coutVehicle message\n;}   (2)将void message (void){coutCar message\n;}   改为:void message (void){coutCar message\n;}   (3)将unicycle.message();   改为:unicycle-message();   【试题解析】   (1)主要考查对虚函数使用规则的掌握,要实现对函数message的动态联编应该使用虚函数,否则产生的是静态联编,调用的函数输出结果就与要求不符;   (2)主要考查对流输出操作的掌握,该处错误的使用了流输入操作;   (3)主要考查对象和对象指针的概念,对象指针使用-调用成员函数,而对象使用.调用成员函数。   二、简单应用题   编写类AA的成员函数intCompare(AAb),该函数用于比较*this与b的大小,若两者含有元素的个数n相同,并且数组中前n个元素值对应相同,则认为两者相等返回1,否则返回0。注意:用数组方式及for循环来实现该函数。输出结果如下: a=b   ac   注意:部分源程序已存在文件kt2_2.cpp中。   请勿修改主函数main和其他函数中的任何内容,仅在函数Compare的花括号中填写若干语句。   文件kt2_2.cpp的内容如下:   #includeiostream.h   #includestdlib.h   classAA{   int*a;   intn;   intMS;   public:   voidInitAA(intaa[],intnn,intms)   { ??? if(nnms)   {\coutError!endl;   exit(1);}   MS=ms; n=nn;   a=newint[MS];   for(inti=0;in;i++)a[i]=aa[i];   }   intCompare(AAb);   };   intAA::Compare(AAb)   {   }   voidmain()   {AAa,b,c;   intx[]={1,2,3,4,5};   inty[]={1,2,3,6,7};   intz[]={1,2,5,7,9};   a.InitAA(x,3,5);   b.InitAA(y,3,5);   c.InitAA(z,3,5);   if(a.Compare(b))   couta=bendl;  else   coutabendl;   if(a.Compare(c))   couta=cendl;   else   coutacendl;}   【参考答案】   int AA::Compare(AA b)   {if(n!=b.n) retu

文档评论(0)

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

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

1亿VIP精品文档

相关文档