Enhanced ComplexNumber class Learn programming Visual Basic (VB.net)


OOP More On Classes


Enhanced ComplexNumber class


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


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())
        Console.WriteLine("Number is: " & number.ToString())
        Console.Write("Magnitude is: ")
        Dim number2 As ComplexNumber = New ComplexNumber(-1, 1)
        Console.Write("After adding: ")
    End Sub
End Class