2012年计算机二级C++第七套上机模拟试题及答案解析

来源:计算机等级考试    发布时间:2012-08-29    计算机等级考试视频    评论

本文导航
  • 第1页:一、改错题
  • 第2页:二、简单应用题
  • 第3页:三、综合应用题
  一、改错题

  使用VC6打开考生文件夹下的工程kt12_1,此工程包含一个源程序文件kt12_1.cpp,但该程序运行有问题,请改正函数中的错误,使该程序的输出结果为:

  100

  源程序文件kt12_1.cpp清单如下:

  #include

  template

  classpair

  { Tvalue1,value2;

  public:

  pair(Tfirst,Tsecond)

  {value1=first;value2=second;}

  /*****************found*****************/

  chargetmax(); };

  /*****************found*****************/

  Tpair::getmax()

  { Tretval;

  /*****************found*****************/

  retval=value1>value2??value1:value2;

  returnretval; }

  voidmain()

  { pairmyobject(100,75);

  cout<  【参考答案】

  (1)将char getmax ();改为:T getmax ();

  (2)缺少模板的声明,应改为:template

  (3)将retval = value1>value2?? value1 : value2;

  改为:retval = value1>value2? value1 : value2;

  【试题解析】

  (1)主要考查对模板使用的理解,该函数属于模板类定义的一

  部分,对于返回值类型,应该使用模板类名称T,这样编译的时候才能被接受;

  (2)主要考查是模板的使用,前面的模板类已经声明完成了,在类的外面定义类的成员函数时仍然需要使用模板的声明,这样在后面的函数定义体中才能使用模板类;

  (3)主要考查对“表达式1? 表达式2 : 表达式3”语句的掌握,这个语句是一个复合语句,先计算第一个表达式,如果为真则整个式子值为表达式2的值,否则为表达式3的值,题目中错误的使用了两个问号。

上一页123下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答