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

考试站(www.examzz.com)   【考试站:中国教育考试第一门户】   2013年3月22日

  三、综合应用题
  使用VC6打开考生文件夹下的工程kt5_3,此工程包含一个源程序文件kt5_3.cpp,其中定义了用于表示复数的类comp,但类comp的定义并不完整。请按要求完成下列操作,将类comp的定义补充完整。
  (1)定义comp的构造函数,函数含参数x和y,它们都是int型的数据,默认值都为0,请使用参数列表的形式分别将类数据成员a和b初始化x和y的值。请在注释“//**1**”之后添加适当的语句。
  (2)完成类comp的成员函数input(intx,inty)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句;
  (3)完成类comp的友元函数friendcompplus(comp&x,comp&y)的定义,该函数首先要定义一个comp类的对象c,然后将参数x和y的数据成员a与b分别相加并分别赋值给c的成员a和b,最后返回c的值,请在注释“//**3**”之后添加适当的语句。输出结果如下:
  10+20i
  2+3i
  result:12+23i
  注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
  源程序文件kt5_3.cpp清单如下:
  #include
   classcomp
  {inta;  

  intb;
  public:
  //**1**
  friendcompplus(comp&x,comp&y);
  voidinput(intx,inty)
  {//**2**}
  voidoutput()
  {cout<
  compplus(comp&x,comp&y)
  {//**3**
  c.b=x.b+y.b;
  returnc;}
  voidmain()
  {compx(10,20),y,z;
  y.input(2,3);
  z=plus(x,y);
  x.output();
  y.output();
  cout<<"result:";
  z.output();}
  【参考答案】
  (1)comp(int x=0,int y=0):a(x),b(y){}
  (2)a=x;
  b=y;
  (3)comp c;
  c.a=x.a+y.a;
  【试题解析】
  本题主要考查类的定义和友元函数定义的。


首页 1 2 3 4 尾页

相关文章