RE: What's the point of returning a coordinate class? Because that way you can return two values, x and y, simultaneously. Otherwise, you would have to pass them by reference through the parameter list (keep in mind that a class is really just a struct).
Also, it is often conceptually easier to...