itgle.com

有以下程序; #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

题目

有以下程序; #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


相似考题
更多“有以下程序; #include&lt;iostream&gt; usingnamespacestd; classComplex { public: Complex( ”相关问题
  • 第1题:

    有以下程序,输出结果()。includeusing namespace std;class Complex{public:Complex(d

    有以下程序,输出结果( )。 #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 imagoconst{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'<<end1; return 0; }

    A.6+i

    B.2i+5

    C.6+1i

    D.1i+5


    正确答案:C
    解析:由主函数入手,调用“Complex a=Complex(1,1)+Complex(5);”,实际是“Complex a=Complex(1,1)+Complex(5,0);”,调用“return Complex(re+c.re,im+c.im);”结果为:6+1i。

  • 第2题:

    有以下程序: include using namespace std; class Complex{public: Complex(double

    有以下程序: #include <iostream> using namespace std; class Complex { public: Complex(double r=0,double i=0):re(r),im(i){ double zeal() 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'<<end 1; return 0; }程序执行后的输出结果是______。

    A.6+6i

    B.6+1i

    C.1+6i

    D.1+1i


    正确答案:B
    解析:类对“+”重载后,对应的变量相加。

  • 第3题:

    (3)下列程序定义了一实部为real,虚部为imag的复数类complex,要求重载运算符“+”、“-”、“*”,实现复数对象的加法、减法、乘法运算,并编写测试程序。 class Complex { private: double real, imag; public: complex(double r, double i) { real=r; imag=i; } };


    virtual void fun()=0;

  • 第4题:

    有下列程序:includeusing namespace std;class Complex{double re,im;public:Complex

    有下列程序: #include<iostream> using namespace std; class Complex { double re,im; public: Complex(double r,double i):re(r),im(i){} double real()const{retum re;} double image()const{return im;} Complex& operator+=(Complex A) { r

    A.(1,-2)

    B.(2,3)

    C.(3,5)

    D.(3,1)


    正确答案:C
    解析: 此题考查的是“+”运算符的重载。重载后的“+”运算符的功能是对参数的两部分分别进行加法运算,然后返回复数值。所以x+=y使得对象x(1,2)与y(2,3)的re和im分别相加,最后输出结果(3,5)。

  • 第5题:

    有以下程序:includeusing namespace std;class Complex{public:Complex(dOuble r=0,d

    有以下程序: #include<iostream> using namespace std; class Complex { public: Complex(dOuble r=0,dOuble i=0):re(r),im(i){} doublereal()const{return re;} doubleimag()const{return im;} Complex operator+(Complex c)const {return Complex

    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。