如何:使用运算符重载创建复数类

本示例展示如何使用运算符重载创建定义复数加法的复数类 Complex。本程序使用 ToString 方法的重载显示数字的虚部和实部以及加法结果。

 1 如何:使用运算符重载创建复数类 public   struct  Complex
 2 如何:使用运算符重载创建复数类 {
 3如何:使用运算符重载创建复数类    public int real;
 4如何:使用运算符重载创建复数类    public int imaginary;
 5如何:使用运算符重载创建复数类
 6如何:使用运算符重载创建复数类    public Complex(int real, int imaginary)  //constructor
 7如何:使用运算符重载创建复数类    {
 8如何:使用运算符重载创建复数类        this.real = real;
 9如何:使用运算符重载创建复数类        this.imaginary = imaginary;
10如何:使用运算符重载创建复数类    }

11如何:使用运算符重载创建复数类
12如何:使用运算符重载创建复数类    // Declare which operator to overload (+),
13如何:使用运算符重载创建复数类    // the types that can be added (two Complex objects),
14如何:使用运算符重载创建复数类    // and the return type (Complex):
15如何:使用运算符重载创建复数类    public static Complex operator +(Complex c1, Complex c2)
16如何:使用运算符重载创建复数类    {
17如何:使用运算符重载创建复数类        return new Complex(c1.real + c2.real, c1.imaginary + c2.imaginary);
18如何:使用运算符重载创建复数类    }

19如何:使用运算符重载创建复数类
20如何:使用运算符重载创建复数类    // Override the ToString() method to display a complex number in the traditional format:
21如何:使用运算符重载创建复数类    public override string ToString()
22如何:使用运算符重载创建复数类    {
23如何:使用运算符重载创建复数类        return (System.String.Format("{0} + {1}i", real, imaginary));
24如何:使用运算符重载创建复数类    }

25如何:使用运算符重载创建复数类}

26 如何:使用运算符重载创建复数类
27 如何:使用运算符重载创建复数类 class  TestComplex
28 如何:使用运算符重载创建复数类 {
29如何:使用运算符重载创建复数类    static void Main()
30如何:使用运算符重载创建复数类    {
31如何:使用运算符重载创建复数类        Complex num1 = new Complex(23);
32如何:使用运算符重载创建复数类        Complex num2 = new Complex(34);
33如何:使用运算符重载创建复数类
34如何:使用运算符重载创建复数类        // Add two Complex objects through the overloaded plus operator:
35如何:使用运算符重载创建复数类        Complex sum = num1 + num2;
36如何:使用运算符重载创建复数类
37如何:使用运算符重载创建复数类        // Print the numbers and the sum using the overriden ToString method:
38如何:使用运算符重载创建复数类        System.Console.WriteLine("First complex number:  {0}", num1);
39如何:使用运算符重载创建复数类        System.Console.WriteLine("Second complex number: {0}", num2);
40如何:使用运算符重载创建复数类        System.Console.WriteLine("The sum of the two numbers: {0}", sum);
41如何:使用运算符重载创建复数类    }

42如何:使用运算符重载创建复数类}
输出 :
First complex number:  2 + 3i

Second complex number: 3 + 4i

The sum of the two numbers: 5 + 7i

你可能感兴趣的:(运算符)