计算机二级

3773考试网计算机等级考试计算机二级正文

2013计算机二级考试C++模拟试题八及答案4

来源:2exam.com 2013-9-29 22:15:33

 三、综合应用题 
  使用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; 
  【试题解析】 
  本题主要考查类的定义和友元函数定义的。

触屏版 电脑版
3773考试网 琼ICP备12003406号-1