#include<iostream>
#include<cmath>
using namespace std;
class Point
{
int x,y;
public:
Point(int a=0,int b=0){SetPoint(a,b);}
void SetPoint(int a,int b);
int getX(){return x;}
int getY(){return y;}
void Print(Point &p);
};
void Point::Print(Point &p){
cout<<"("<<p.getX()<<","<<p.getY()<<")"<<endl;
}
void Point::SetPoint(int a,int b)
{
x = a;
y = b;
}
class Line :public Point
{
public:
Line(int a,int b,int c,int d){
HeadPoint.SetPoint(a,b);
EndPoint.SetPoint(c,d);
}
double Length(){
double xx = static_cast<double>(HeadPoint.getX() - EndPoint.getX());
double yy = static_cast<double>(HeadPoint.getY() - EndPoint.getY());
return sqrt(xx * xx + yy * yy);
}
int Print(){
cout<<"HeadPoint: "<<"["<<HeadPoint.getX()<<","<<HeadPoint.getY()<<"]"<<";";
cout<<"EndPoint: "<<"["<<EndPoint.getX()<<","<<EndPoint.getY()<<"]"<<endl;
}
private:
Point HeadPoint,EndPoint;
double xx,yy;
};
int main()
{
Line line(1,1,10,10);
cout<<"Line line:";
line.Print();
cout<<"line's length:";
cout<<line.Length()<<endl;
return 0;
}