单选题 有以下程序
#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);}
privane:
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。