2013年计算机二级考试C++进行模拟测试六_第2页

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年3月22日
上机部分
   一、改错题
  使用VC6打开考生文件夹下的工程kt4_1,此工程包含一个源程序文件kt4_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果如下:
  1:
  weight:5
  age:0
  2:
  weight:7
  age:9
  源程序文件kt4_1.cpp清单如下:
  #include
   classanimal
  {
  public:
  /****************found*******************/
  friendvoidsetvalue(animal&,int);
  /****************found*******************/
  viodprint();
  protected:
  intitsweight;
  intitsage;
  };
  voidanimal::print()
  {
  cout<<"weight:"<
  cout<<"age:"<
  }
  voidsetvalue(animal&ta,inttw)
  {
  ta.itsweight=tw; www.Examda.CoM
  ta.itsage=0;
  }
  voidsetvalue(animal&ta,inttw,inttn)
  {
  ta.itsweight=tw;
  ta.itsage=tn;
  }
  voidmain()
  {/****************found*******************/
  animalpeppy
  setvalue(peppy,5);
  cout<<"1:"<
  peppy.print();
  setvalue(peppy,7,9);
  cout<<"2:"<
  peppy.print();}
  【参考答案】
  (1)添加友元函数的声明
  friend void setvalue(animal&,int,int);
  (2)将viod print();改为:void print();
  (3)将animal peppy改为:animal peppy;
  【试题解析】
  (1)主要考查对成员函数定义规则的掌握,成员函数必须先声明再使用,即使是友元函数也不例外;
  (2)主要考查对关键字的掌握,空类型应用void;
  (3)主要考查对变量定义的掌握,该处缺少“;”。

相关文章