问题详情

有以下程序; #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<<a.real()<<+<<a.imag()<<i<<endl; return0; } 程序执行后的输出结果是( )。


A、6+6i

B、6+1i

C、1+6i

D、1+1i

时间:2022-01-03 01:21 关键词:

答案解析

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