问题 单项选择题

有下列程序:
#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)。

问答题 简答题
多项选择题