Programming Course in C# ¡Free!

# Complex, improved

Proposed exercise

Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.

Output

Solution

```using System;
class ComplexNumber
{
protected double a, b;

public ComplexNumber(double realPart, double imaginaryPart)
{
a = realPart;
b = imaginaryPart;
}

public double GetReal()
{
return a;
}

public void SetReal(double a)
{
this.a = a;
}

public double GetImaginary()
{
return b;
}

public void SetImaginary(double b)
{
this.b = b;
}

public new string ToString()
{
return "("+a+","+b+")";
}

public double GetMagnitude()
{
return Math.Sqrt ((a * a) + (b * b));
}

public void Add(ComplexNumber c2)
{
a += c2.GetReal();
b += c2.GetImaginary();
}

}

class ComplexTest
{
static void Main()
{
bool debug = false;

ComplexNumber number = new ComplexNumber(5, 2);
Console.WriteLine("Number is: "+ number.ToString());

number.SetImaginary(-3);
Console.WriteLine("Number is: "+ number.ToString());

Console.Write("Magnitude is: ");
Console.WriteLine(number.GetMagnitude());

ComplexNumber number2 = new ComplexNumber(-1, 1);