2013计算机二级考试C++模拟试题八及答案4 |
来源:2exam.com 2013-9-29 |
三、综合应用题 使用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; 【试题解析】 本题主要考查类的定义和友元函数定义的。
|
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系. |
|
|
|