#include <cmath>
#include <iostream>
using namespace std;
class Point
{
private://Данные -члены(закрытые)
int x,y;
public: //функции -члены
void set(int new_x,int new_y);
int get_x();
int get_y();
double operator%(Point &pt);
};
double Point::operator%(Point &pt)
{
int d1=pt.x-x;
int d2=pt.y-y;
return sqrt((double)(d1*d1+d2*d2));
}
int main()
{
Point pt1,pt2;
pt1.set(10,20);
cout<<"pt1 is"<<pt1.get_x();
cout<<","<<pt1.get_y()<<endl;
pt2.set(-5,-25);
cout<<"pt2 is"<<pt2.get_x();
cout<<","<<pt2.get_y()<<endl;
pt1.set(20,20);
pt2.set(24,23);
cout<<"расстояние "<<pt1%pt2;
return 0;
}
void Point::set(int new_x,int new_y)
{
if (new_x<0)
new_x*=-1;
if(new_y<0)
new_y*=-1;
x=new_x;
y=new_y;
}
int Point::get_x()
{
return x;
}
int Point::get_y()
{
return y;
}
I2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9zdHJlYW0+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgUG9pbnQKewpwcml2YXRlOi8v0JTQsNC90L3Ri9C1IC3Rh9C70LXQvdGLKNC30LDQutGA0YvRgtGL0LUpCglpbnQgeCx5OwpwdWJsaWM6IC8v0YTRg9C90LrRhtC40LggLdGH0LvQtdC90YsKCXZvaWQgc2V0KGludCBuZXdfeCxpbnQgbmV3X3kpOwoJaW50IGdldF94KCk7CglpbnQgZ2V0X3koKTsKCWRvdWJsZSBvcGVyYXRvciUoUG9pbnQgJnB0KTsKfTsKCmRvdWJsZSBQb2ludDo6b3BlcmF0b3IlKFBvaW50ICZwdCkKewoJaW50IGQxPXB0LngteDsKCWludCBkMj1wdC55LXk7CglyZXR1cm4gc3FydCgoZG91YmxlKShkMSpkMStkMipkMikpOwp9CgppbnQgbWFpbigpCnsKCVBvaW50IHB0MSxwdDI7CglwdDEuc2V0KDEwLDIwKTsKCWNvdXQ8PCJwdDEgaXMiPDxwdDEuZ2V0X3goKTsKCWNvdXQ8PCIsIjw8cHQxLmdldF95KCk8PGVuZGw7CglwdDIuc2V0KC01LC0yNSk7Cgljb3V0PDwicHQyIGlzIjw8cHQyLmdldF94KCk7Cgljb3V0PDwiLCI8PHB0Mi5nZXRfeSgpPDxlbmRsOwoJcHQxLnNldCgyMCwyMCk7CglwdDIuc2V0KDI0LDIzKTsKCWNvdXQ8PCLRgNCw0YHRgdGC0L7Rj9C90LjQtSAiPDxwdDElcHQyOwoJcmV0dXJuIDA7Cn0KCnZvaWQgUG9pbnQ6OnNldChpbnQgbmV3X3gsaW50IG5ld195KQp7CglpZiAobmV3X3g8MCkKCQluZXdfeCo9LTE7CglpZihuZXdfeTwwKQoJCW5ld195Kj0tMTsKCXg9bmV3X3g7Cgl5PW5ld195Owp9CgppbnQgUG9pbnQ6OmdldF94KCkKewoJcmV0dXJuIHg7Cn0KCmludCBQb2ludDo6Z2V0X3koKQp7CglyZXR1cm4geTsKfQ==