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