Prev | Current Page 202 | Next

Guy Fouch?©, Trey Nash

"Accelerated VB 2008"

Real + rhs.Real, lhs.Imaginary + rhs.Imaginary)
End Function
Public Shared Function Add _
(ByVal lhs As Complex, ByVal rhs As Double) As Complex
Return New Complex(rhs + lhs.Real, lhs.Imaginary)
End Function
Public Overrides Function ToString() As String
Return System.String.Format("({0}, {1})", Real, Imaginary)
End Function
Public Shared Operator +(ByVal lhs As Complex, ByVal rhs As Complex) As Complex
Return Add(lhs, rhs)
End Operator
Public Shared Operator +(ByVal lhs As Double, ByVal rhs As Complex) As Complex
Return Add(rhs, lhs)
End Operator
Public Shared Operator +(ByVal lhs As Complex, ByVal rhs As Double) As Complex
Return Add(lhs, rhs)
End Operator
End Structure
CHAPTER 7 n OPERATOR OVERLOADING 121
Public Class EntryPoint
Shared Sub Main()
Dim cpx1 As Complex = New Complex(1.0, 3.0)
Dim cpx2 As Complex = New Complex(1.0, 2.0)
Dim cpx3 As Complex = cpx1 + cpx2
Dim cpx4 As Complex = 20.0 + cpx1
Dim cpx5 As Complex = cpx1 + 25.0
Console.WriteLine("cpx1 == {0}", cpx1)
Console.WriteLine("cpx2 == {0}", cpx2)
Console.WriteLine("cpx3 == {0}", cpx3)
Console.WriteLine("cpx4 == {0}", cpx4)
Console.WriteLine("cpx5 == {0}", cpx5)
End Sub
End Class
Here are the results of running the previous code:
cpx1 == (1, 3)
cpx2 == (1, 2)
cpx3 == (2, 5)
cpx4 == (21, 3)
cpx5 == (26, 3)
Notice that, as recommended, the overloaded operator methods call Add methods that
perform the same operation.


Pages:
190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
wierszyki bajka Tango Olsztyn pozycjonowanie typy bukmacherskie