public struct Complex { public int real; public int imaginary; public Complex(int real, int imaginary) //constructor { this.real = real; this.imaginary = imaginary; } // Declare which operator to overload (+), // the types that can be added (two Complex objects), // and the return type (Complex): public static Complex operator +(Complex c1, Complex c2) { return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary); } // Override the ToString() method to display a complex number in the traditional format: public override string ToString() { return (System.String.Format("{0} + {1}i", real, imaginary)); } }class TestComplex { static void Main() { Complex num1 = new Complex(2, 3); Complex num2 = new Complex(3, 4); // Add two Complex objects through the overloaded plus operator: Complex sum = num1 + num2; // Print the numbers and the sum using the overriden ToString method: System.Console.WriteLine("First complex number: {0}", num1); System.Console.WriteLine("Second complex number: {0}", num2); System.Console.WriteLine("The sum of the two numbers: {0}", sum); } }//一个简单的复数类。。
using System; using System.Collections.Generic; using System.Windows.Forms;namespace 复数 { public struct Complex { public double real; public double imaginary; public Complex(double real, double imaginary) { this.real = real; this.imaginary = imaginary; } public static Complex operator +(Complex c1, Complex c2) //重载"+"运算符 { return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary); } public static Complex operator -(Complex c1, Complex c2) //重载"-"运算符 { return new Complex(c1.real -c2.real, c1.imaginary - c2.imaginary); } public static Complex operator *(Complex c1, Complex c2) //重载"*"运算符 { return new Complex((c1.real*c2.real-c1.imaginary*c2.imaginary),( c1.real*c2.imaginary+ c2.real*c1.imaginary)); } public static Complex operator / (Complex c1, Complex c2)//重载"/"运算符 {
public static void Main( ) { Complex value1= new Complex(4,3); Complex value2 = new Complex(5,4); Complex sum = value1 + value2; Console.WriteLine("第一个复数是: {0}",value1); Console.WriteLine("第二个复数是: {0}", value2); Console.WriteLine("两个复数的和是: {0}", sum);
} } } 这是自己编的,怎么也运行不出来,不知道问题出在哪里??????????
public struct Complex { public int real; public int imaginary; public Complex(int real, int imaginary) //constructor { this.real = real; this.imaginary = imaginary; } public static Complex operator +(Complex c1, Complex c2) { return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary); } // Override the ToString() method to display a complex number in the traditional format: public override string ToString() { return (System.String.Format("{0} + {1}i", real, imaginary)); } } class TestComplex { static void Main() { Complex num1 = new Complex(2, 3); Complex num2 = new Complex(3, 4); // Add two Complex objects through the overloaded plus operator: Complex sum = num1 + num2; // Print the numbers and the sum using the overriden ToString method: System.Console.WriteLine("First complex number: {0}", num1); System.Console.WriteLine("Second complex number: {0}", num2); System.Console.WriteLine("The sum of the two numbers: {0}", sum); } }
{
public int real;
public int imaginary; public Complex(int real, int imaginary) //constructor
{
this.real = real;
this.imaginary = imaginary;
} // Declare which operator to overload (+),
// the types that can be added (two Complex objects),
// and the return type (Complex):
public static Complex operator +(Complex c1, Complex c2)
{
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
} // Override the ToString() method to display a complex number in the traditional format:
public override string ToString()
{
return (System.String.Format("{0} + {1}i", real, imaginary));
}
}class TestComplex
{
static void Main()
{
Complex num1 = new Complex(2, 3);
Complex num2 = new Complex(3, 4); // Add two Complex objects through the overloaded plus operator:
Complex sum = num1 + num2; // Print the numbers and the sum using the overriden ToString method:
System.Console.WriteLine("First complex number: {0}", num1);
System.Console.WriteLine("Second complex number: {0}", num2);
System.Console.WriteLine("The sum of the two numbers: {0}", sum);
}
}//一个简单的复数类。。
using System.Collections.Generic;
using System.Windows.Forms;namespace 复数
{ public struct Complex
{
public double real;
public double imaginary;
public Complex(double real, double imaginary) { this.real = real;
this.imaginary = imaginary; }
public static Complex operator +(Complex c1, Complex c2) //重载"+"运算符
{
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
}
public static Complex operator -(Complex c1, Complex c2) //重载"-"运算符
{
return new Complex(c1.real -c2.real, c1.imaginary - c2.imaginary);
}
public static Complex operator *(Complex c1, Complex c2) //重载"*"运算符
{
return new Complex((c1.real*c2.real-c1.imaginary*c2.imaginary),( c1.real*c2.imaginary+ c2.real*c1.imaginary));
}
public static Complex operator / (Complex c1, Complex c2)//重载"/"运算符
{
return new Complex((c1.real * c2.real + c1.imaginary * c2.imaginary) / (c2.real * c2.real + c2.imaginary * c2.imaginary), (c2.real * c1.imaginary - c1.real * c2.imaginary) / (c2.real * c2.real + c2.imaginary * c2.imaginary)); }
public static bool operator > (Complex c1,Complex c2)//重载">"运算符
{
if(c1.real>c2.real)
return true;
else return false;}
public static bool operator < (Complex c1,Complex c2)
{
if(c1.real<c2.real)
return true;
else return false;
} public static bool operator ==(Complex c1, Complex c2)//重载"<"运算符
{
if ((c1.real == c2.real) && (c1.imaginary == c2.imaginary))
return true;
else return false;
}
public static bool operator !=(Complex c1,Complex c2)
{
if((c1.real==c2.real)&&(c1.imaginary==c2.imaginary))
return false;
else return true;
}
public override string ToString( )
{
return (String.Format("{0} + {1} I", real, imaginary));
}
/// <summary>
/// 应用程序的主入口点。
/// </summary>
public static void Main( )
{
Complex value1= new Complex(4,3);
Complex value2 = new Complex(5,4);
Complex sum = value1 + value2;
Console.WriteLine("第一个复数是: {0}",value1);
Console.WriteLine("第二个复数是: {0}", value2);
Console.WriteLine("两个复数的和是: {0}", sum);
}
}
}
这是自己编的,怎么也运行不出来,不知道问题出在哪里??????????
{
public int real;
public int imaginary; public Complex(int real, int imaginary) //constructor
{
this.real = real;
this.imaginary = imaginary;
} public static Complex operator +(Complex c1, Complex c2)
{
return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
} // Override the ToString() method to display a complex number in the traditional format:
public override string ToString()
{
return (System.String.Format("{0} + {1}i", real, imaginary));
}
} class TestComplex
{
static void Main()
{
Complex num1 = new Complex(2, 3);
Complex num2 = new Complex(3, 4); // Add two Complex objects through the overloaded plus operator:
Complex sum = num1 + num2; // Print the numbers and the sum using the overriden ToString method:
System.Console.WriteLine("First complex number: {0}", num1);
System.Console.WriteLine("Second complex number: {0}", num2);
System.Console.WriteLine("The sum of the two numbers: {0}", sum);
}
}