c#中,两个复数怎么做加法?求好心人帮我解答,谢谢。

我想请问有Complex这个数据类型嘛?谢谢我这里有一段代码,但是我看不懂?classComplex{doublea,b;publicComplex(doublem,do... 我想请问有Complex这个数据类型嘛?谢谢
我这里有一段代码,但是我看不懂?
class Complex
{
double a, b;
public Complex(double m, double n) {
a = m;
b = n;
}
public static Complex operator +(Complex x, Complex y)
{
Complex t=new Complex(0,0);
t.a = x.a + y.a;
t.b = x.b + y.b;
return (t);
}
public void DispCom() {
if (b > 0) Console.WriteLine("{0}+{1}i", a, b);
else Console.WriteLine("{0}-{1}i", a, b);
}
}
class Test {
public static void Main() {
Complex x = new Complex(1, 2);
x.DispCom();
Complex y = new Complex(3, 4);
y.DispCom();
Complex z = new Complex(0, 0);
z = x + y;
z.DispCom();
}
}
展开
 我来答
百度网友519daa4
2012-02-16 · TA获得超过113个赞
知道小有建树答主
回答量:119
采纳率:0%
帮助的人:127万
展开全部
其实没有 Complex类,Complex是自定义出来的。以下是我个人加的注释,希望对你有帮助。
class Complex //自定义复数类
{
double a, b; //复数私有成员一个表示实部一个表示虚部
public Complex(double m, double n) { //复数构造函数用m初始化a,n初始化b
a = m;
b = n;
}
public static Complex operator +(Complex x, Complex y) //加号重载 两边类型是Complex
{
Complex t=new Complex(0,0); //定义一个临时存储变量
t.a = x.a + y.a; //实部相加
t.b = x.b + y.b; //虚部相加
return (t); //返回加法结果,类型为Complex (自定义的复数类型)
}
public void DispCom() { //定义输出函数
if (b > 0) Console.WriteLine("{0}+{1}i", a, b);
else Console.WriteLine("{0}-{1}i", a, b);
}
}
class Test { //以下内容全为测试内容
public static void Main() { //程序入口
Complex x = new Complex(1, 2); //用1,2初始化x,即x=1+2i;
x.DispCom();//输出x
Complex y = new Complex(3, 4); //用3,4初始化y,即x=3+4i;
y.DispCom();//输出y
Complex z = new Complex(0, 0);//定义加法结果变量,初始化为0,即0+0i;
z = x + y;//执行加法,实部相加,虚部相加,所以z=4+6i;
z.DispCom();//输出结果z。
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式