问题 单项选择题

有以下程序;   #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;   }   程序执行后的输出结果是(  )。

A.6+6i

B.6+1i

C.1+6i

D.1+1i

答案

参考答案:B

解析:【解析】运算符+在类Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以main函数中语句Complexa=Complex(1,1)+Complex(5);的作用相当于Complexa(1+5,1);,即对象a的数据成员re的值为6,imag的值为1,所以输出为6+1i。

单项选择题
判断题