单选题
有以下程序;
#include
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< return0;
}
程序执行后的输出结果是( )。
【正确答案】
B
【答案解析】【解析】运算符+在类Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以main函数中语句Complexa=Complex(1,1)+Complex(5);的作用相当于Complexa(1+5,1);,即对象a的数据成员re的值为6,imag的值为1,所以输出为6+1i。