A-A+
有以下程序; #includeusingnamespacestd; cl
问题详情
有以下程序;
#include<iostream>
usingnamespacestd;
classComplex
{
public:
Complex(doubler=0,doublei=O):re(r),im(i){}
doublereal()const{returnre;}
doubleimag()const{returnim;}
Complexoperator+(Complexc)const
{returnComplex(re+C.re,im+C.im);}
private:
doublere,im;
};
intmain()
{
Complexa=Complex(1,1)+Complex(5);
cout$amp;return0;
}
程序执行后的输出结果是()。
A.6+6i
B.6+1i
C.1+6i
D.1+1i请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
B。【解析】运算符+在类Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以main函数中语句Complexa=Complex(1,1)+Complex(5);的作用相当于Complexa(1+5,1);,即对象a的数据成员re的值为6,imag的值为1,所以输出为6+1i。