问题
单项选择题
有下列程序:
#include<iostream>
using namespace std;
class Complex
double re,im;
public:
Complex(double r,double i):re(r),im(i)
double real()constretum re;
double image()constreturn im;
Complex& operator+=(Complex
A.
re+=a.re;
im+=a.im;
return*this;
;
ostream& operator<<(ostream& s,const Complex& z)
return s<<’(’<<z.real()《’,’<<Z.image0<<’)’;
int main()
Complex x(1,2),y(2,3);
cout<<(x+=y)<<endl;
return 0;
执行这个程序的输出结果是( )。A) (1,-2)
B.(2,3)
C.(3,5)
D.(3,1)
答案
参考答案:C
解析: 此题考查的是“+”运算符的重载。重载后的“+”运算符的功能是对参数的两部分分别进行加法运算,然后返回复数值。所以x+=y使得对象x(1,2)与y(2,3)的re和im分别相加,最后输出结果(3,5)。