题目:
-----------------------------------------------------------------------------------------------------
(1)复数类 ComplexNumber() 的属性
m_dRealPart: 实部,代表复数的实数部分;
m_dImaginPart: 虚部
(2)复数类 ComplexNumber 的方法
ComplexNubmer():构造函数 将 实部与虚部都置为0;
ComplexNumber(double r,double i): 构造函数,创建复数
对象的同时完成复数的实部,虚部的除数化,r为实部的初值,i为虚部的处置。
getRealPart(): 获得复数对象的实部。
getImaginaryPart(): 获得复数对象的虚部。
setRealPart(double d): 把当前复数对象的实部设置为给定的形参的数字。
setImaginaryPart(double d): 把当前复数对象的虚部设置为给定的形参的数字。
complexAdd(ComplexNumber c): 当前复数对象与形参复数对象相加,所得的结果也是复数值,返回给此方法的调用者。
complexAdd(double c) : 当前复数对象与形参复数对象相加,所得的结果仍是复数值,返回给此方法的调用者。
这个我不懂的是 这两句
-----------------------------------------------------------------
complexAdd(ComplexNumber c): 当前复数对象与形参复数对象相加,所得的结果也是复数值,返回给此方法的调用者。 complexAdd(double c) : 当前复数对象与形参复数对象相加,所得的结果仍是复数值,返回给此方法的调用者。
-----------------------------------------------------------------
这个代码应该怎么写,我写了很多都不行 返回结果 返回的是double的值吗? 哪个C 有什么用?  
哪个大虾 帮帮忙啊 我想了很久了  就是想不出来    谢谢了

解决方案 »

  1.   

    complexAdd(double c) : 当前复数对象与形参复数对象相加,所得的结果仍是复数值,返回给此方法的调用者。
    既然如此,你又“返回结果 返回的是double的值吗?”何出此言?
      

  2.   


    ComplexNumber complexAdd(ComplexNumber c){
       this.m_dRealPart += c.m_dRealPart ;
       this.m_dImaginPart += c.m_dImaginPart;
       //如果你的构造方法是如public ComplexNumber(double,double)的话为
       return new ComplexNumber(this.m_dRealPart,this.m_dImaginPart );
    }
    ComplexNumber complexAdd(double c){
       //你这里的c是指什么啊,是虚部的话
       this.m_dImaginPart += c;
       return new ComplexNumber(this.m_dRealPart,this.m_dImaginPart );
       //你这里的c是指什么啊,是实部的话,用下面的代码
       //this.m_dRealPart += c;
       //return new ComplexNumber(this.m_dRealPart,this.m_dImaginPart );
    }
      

  3.   

    楼上代码有问题。相加的同时被加复数自身也被改变了,不合题意。这样就可以了:ComplexNumber complexAdd(ComplexNumber c){
       return new ComplexNumber(m_dRealPart + c.m_dRealPart, m_dImaginPart + c.m_dImaginPart);
    }