itgle.com

有以下程序: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;} Compl

题目
有以下程序: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


相似考题
更多“有以下程序:#include<iostream>using namespace std;class Complex{public:Complex(dOuble r=0,d ”相关问题
  • 第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题:

    有以下程序:includeincludeusing namespace std; class point{private:double

    有以下程序: #include<iostream> #include<math> using namespace std; class point { private: double x; double y; public: point(double a,double B) { x=a; y=b; } friend double distance (point a,point B) ;

    A.1

    B.5

    C.4

    D.6


    正确答案:C
    解析:本题考核友元函数的应用。分析程序:类point中定义了两个私有成员x和y,以及一个友元函数distance。从而,函数distance可以访问类point中的任何成员。在函数distance中,返回值为sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y))。由此可知,函数distance的功能是计算a、b两点之间的距离。在主函数main中,先定义两点:p1(1,2)和p2(5,2)。然后调用函数distance计算两点之间的距离为4,所以程序最后输出为4。

  • 第3题:

    有以下程序: 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
    解析:类对“+”重载后,对应的变量相加。

  • 第4题:

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


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

  • 第5题:

    有下列程序: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)。