struct P { double x, y; P(, ):x(x), y(y) {} double add(double a, double b){ ; return a+b; } P operator + (P p){ return P(add(x, p.x), add(y, p.y)); } P operator - (P p){ return P(add(x, -p.x), add(y, -p.y)); } P operator *(double d){ return P(x*d, y*…