Improvement of a point class

I’ve written a first point struct & class.
Feel free to improve/elaborate.

type  tpoint={mutable x:int ; mutable y:int}
class cpoint=object
    val p:tpoint={x=0;y=0}
    method set ~x ~y =
        p.x<-x;
        p.y<-y;
        ()
    method getx = p.x
    method gety = p.y
    method getxy = (p.x,p.y)
end;;
let p:cpoint=new cpoint in
p#set ~y:3 ~x:5;
let x=p#getx in
print_int x;
let (x,y)=p#getxy in
print_int y;;