有以下程序:
#include<iostream>
using namespace std;
class Complex
public:
Complex(dOuble r=0,dOuble i=0):re(r),im(i)
doublereal()constreturn re;
doubleimag()constreturn im;
Complex operator+(Complex c)const
return Complex(re+c.re,im+c.im);
private:
double re,im;
;
int main()
Complex a=Complex(1,1)+Complex(5);
cout<<a.real()<<‘+’<<a.imag()<<‘i’<<endl;
return 0;
程序执行后的输出结果是( )。
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的值为l,所以输出为6+1i。