定义Point类和Line类,其中Line类是Point类的友元类,包含两个Point对象,分别表示起点和终点,根据程序框架补充必要的函数,并实现Line的len函数,计算线段的长度。
PS:结果可读性没有到位,后期可以加显示线段的起点终点,再求长度。
#include<iostream>
using namespace std;
#include<math.h>
class Line;//提前声明Line类存在
class Point{//定义Point类
private:
int x;//x,y坐标
int y;
public:
Point(){//自定义默认构造函数
}
Point(int x,int y){//带参数构造函数
this->x=x;
this->y=y;
}
friend class Line;//声明Line是Point的友元类
};
class Line{//定义Line类
private:
Point sp;//起点和终点
Point ep;
public:
Line(Point p1,Point p2){//带参数的构造函数
sp=p1;
ep=p2;
}
double len(){//长度计算
return sqrt(pow(sp.x-ep.x,2)+pow(sp.y-ep.y,2));
}
};
int main(){
Point p1(0,4),p2(3,0);//定义Point类对象
Line L(p1,p2);//定义Line类对象
cout<<"长度为"<<L.len()<<endl;//返回计算结果
return 0;
}