본문 바로가기

교육/Swift

[swift] operator overloading

1. operator overloading

연산자를 재 정의해서 새로운 동작을 만드는 것 


2. 샘플 코드

class Point : CustomStringConvertible

{

    var x : Int = 0

    var y : Int = 0

    

    var description: String { get{ // CustomStringConvertible 정의 되어 있음

        return "\(x), \(y)"

        }

    }

    init(_ a:Int = 0, _ b:Int = 0){x=a;y=b}

}

// 연산자 재정의 함수는 멤버가 아닌 일반 함수로만 가능

// 연산자 이름이 함수 이름

func +( p1:Point, p2:Point)->Point

{

    return Point(p1.x+p2.x,p1.y+p2.y)

}

var p1 = Point(1,2)

var p2 = Point(2,3)


var p3 = p1 + p2

print (p3)

'교육 > Swift' 카테고리의 다른 글

[swift] exception  (0) 2016.08.22
[swift] generic  (0) 2016.08.08
[swift] protocol  (0) 2016.08.08
[swift] casting  (0) 2016.08.08
[swift] extension  (0) 2016.08.08