Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Create class Complex number in C#

Tags:

c#

I tried to create class Complex number in C# with two different constructor, the first constructor takes real part and imaginary part, the second constructor takes module and argument.

public class Complex
{
    public Complex() { }

    private Complex(double _re, double _im)
    {
        re = _re;
        im = _im;
    }

    public static double Complex_FromCartesian(double _re, double _im)
    {
        return new Complex(_re, _im);
    }

    public static double Complex_FromPolar(double _mod, double _arg)
    {
        var _re = _mod * Math.Cos(_arg);
        var _im = _mod * Math.Sin(_arg);
        return new Complex(_re, _im);
    }

    public static Complex operator +(Complex num1, Complex num2)
    {
        return new Complex(num1.re + num2.re, num2.im + num2.im);
    }

    public static Complex operator -(Complex num1, Complex num2)
    {
        return new Complex(num1.re - num2.re, num2.im - num2.im);
    }

    public double Re { get; set; }
    public double Im { get; set; }

    private double re, im;
}

}

but I got the same error in both constructors
enter image description here
How to fix that?

like image 258
Heidel Avatar asked May 30 '26 05:05

Heidel


2 Answers

Your method returns a double but you're trying to return a Complex type

Change:

public static double Complex_FromCartesian(double _re, double _im)
{
    return new Complex(_re, _im);
}

To:

public static Complex Complex_FromCartesian(double _re, double _im)
{
    return new Complex(_re, _im);
}
like image 145
DGibbs Avatar answered Jun 01 '26 20:06

DGibbs


Change the return type of that method to Complex.

like image 42
MoonKnight Avatar answered Jun 01 '26 18:06

MoonKnight



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!