Operator overloading

class Point(var x: Intvar y: Int) {
    operator fun plus(p: Point): Point {
        return Point(x + p.x, y + p.y)
    }
}

val p1 = Point(11)
val p2 = Point(22)
var p3 = p1 + p2
//p3.x is 3 and p3.y is 3
p3 += Point(35)
//p3.x is 6 and p3.y is 8

println("p3 is (${p3.x}, ${p3.y})")