C#面向对象编程操作符重载-复数类

C#面向对象编程操作符重载-复数类

简介

操作符重载是C#编程语言的一个特性,在C++、Python编程语言中也支持这一特性。而在C,java,Go等大多数编程语言是不支持的(有些语言甚至都不支持函数重载)。

操作符重载可以是我们的自定义类对象可以使用运算符进行操作,这可以节约我们的时间,方便我们灵活的使用面向对象编程方法。

参考代码

public class Complex
{
    public int real;
    public int imag;

    public Complex(int real,int imag)
    {
        this.real = real;
        this.imag = imag;
    }
    // 复数加法
    public static Complex operator +(Complex a, Complex b)
    {
        Complex c = new Complex(a.real + b.real, a.imag + b.imag);
        return c;
    }
    // 复数减法
    public static Complex operator -(Complex a, Complex b)
    {
        Complex c = new Complex(a.real - b.real, a.imag - b.imag);
        return c;
    }

    // 乘除法后续补充
    public override string ToString()
    {
        if (imag < 0) { return String.Format("{0}{1}i", real, imag); }
        if (imag == 0) { return String.Format("{0}", real); }
        return String.Format("{0}+{1}i", real, imag);
    }
}

class TempMain
{
    static void Main()
    {
        var c1 = new Complex(1, 2);
        var c2 = new Complex(2, -4);
        Console.WriteLine(c1 + c2);
        Console.WriteLine(c1 - c2);
    }
}

你可能感兴趣的:(C#,c#,开发语言)