- ``根据点的类构造线三角形类,并测试
【输入形式】输入三角形的3个坐标点
【输出形式】三角形的3个坐标点、3边长及周长和面积
class myPoint
{
public:
myPoint();
myPoint(double x,double y);
double getX();
double getY();
private:
double mX,mY;
};
#include<iostream>
#include<cmath>
using namespace std;
myPoint::myPoint(double x,double y)
{
mX=x;
mY=y;
}
double myPoint::getX()
{
return mX;
}
double myPoint::getY()
{
return mY;
}
class Line{
private:
myPoint a,b;
public:
Line(myPoint a,myPoint b):a(a),b(b){
};
double GetDistance()
{
double x=double(a.getX()-b.getX());
double y=double(a.getY()-b.getY());
return (double) sqrt(x*x+y*y);
}
};
class Triangle
{
private:
double circle;
double area;
public:
Triangle(myPoint i,myPoint k,myPoint j);
double getGirth()
{
return circle;
}
double getArea()
{
return area;
}
};
Triangle::Triangle(myPoint i,myPoint k,myPoint j)
{
Line a(i,k),b(k,j),c(i,j);
circle=a.GetDistance()+b.GetDistance()+c.GetDistance();
double t=circle/2;
area=sqrt(t*(t-a.GetDistance())*(t-b.GetDistance())*(t-c.GetDistance())