교육/Swift
[swift] operator overloading
삶의안식처
2016. 8. 8. 16:57
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)