Exercise
Enhanced ComplexNumber class
Objetive
Improve the "ComplexNumber" class, so that it overloads the operators + and - to add and subtract numbers.
Code
Imports System
Class ComplexNumber
Protected a, b As Double
Public Sub New(ByVal realPart As Double, ByVal imaginaryPart As Double)
a = realPart
b = imaginaryPart
End Sub
Public Function GetReal() As Double
Return a
End Function
Public Sub SetReal(ByVal a As Double)
Me.a = a
End Sub
Public Function GetImaginary() As Double
Return b
End Function
Public Sub SetImaginary(ByVal b As Double)
Me.b = b
End Sub
Public Overloads Function ToString() As String
Return "(" & a & "," & b & ")"
End Function
Public Function GetMagnitude() As Double
Return Math.Sqrt((a * a) + (b * b))
End Function
Public Sub Add(ByVal c2 As ComplexNumber)
a += c2.GetReal()
b += c2.GetImaginary()
End Sub
End Class
Class ComplexTest
Private Shared Sub Main()
Dim number As ComplexNumber = 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())
Dim number2 As ComplexNumber = New ComplexNumber(-1, 1)
number.Add(number2)
Console.Write("After adding: ")
Console.WriteLine(number.ToString())
End Sub
End Class