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();
}
} 展开
我这里有一段代码,但是我看不懂?
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();
}
} 展开
1个回答
展开全部
其实没有 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。
}
}
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。
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询