有以下程序 #include<iostream> using namespace std; class Complex { public: Complex(double r=O,double i=0):re(r)

admin2006-08-25  22

问题 有以下程序    #include<iostream>     using namespace std;    class Complex    {    public:       Complex(double r=O,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;        retum 0;    }    程序执行后的输出结果是   

选项 A、6+6i
B、6+1i
C、1+6i
D、1+1i

答案B

解析 本题考核类与对象、运算符重载。运算符“+”在类Complex中作为成员函数重载,实现两个对象的数据成员的相加。所以main函数中语句“Complex a=Complex(1,1)+Complex(5);”的作用相当于“Complex a(1+5,1);”即对象a的数据成员re的值为6,imag的值为1,所以输出为6+1i。
转载请注明原文地址:https://kaotiyun.com/show/J3kp777K
0

最新回复(0)