【改错明天前需答案#include#include//CPoint类表示平面直角坐标系中的一个点classCPoint{private:doublem_X;//x坐标doublem_Y;//y坐标public:voidCPoint(doublex,doubley)//***(1)***{m_X=x;m_Y=y;}//Copy构造CPoint(CPoin】
改错明天前需答案
#include
#include
//CPoint类表示平面直角坐标系中的一个点
classCPoint
{
private:
doublem_X;//x坐标
doublem_Y;//y坐标
public:
voidCPoint(doublex,doubley)//***(1)***
{
m_X=x;
m_Y=y;
}
//Copy构造
CPoint(CPointp)//***(2)***
{
m_X=p.GetX();
m_Y=p.GetY();
}
doubleGetX(){returnm_X;}//获得x坐标
doubleGetY(){returnm_Y;}//获得y坐标
voidSetX(doubleval){m_X=val;}//设置x坐标
voidSetY(doubleval){m_Y=val;}//设置y坐标
//对运算符“-”进行重载,求两个点之间的差
CPoint-(CPoint&point)//***(3)***
{
CPointp(m_X-point.GetX(),m_Y-point.GetY());
returnp;
}
//获得该坐标点到原点的距离
doubleGetModulus()
{
returnsqrt(m_X^2+m_Y^2);//***(4)***
}
};
//CTriangle类表示一条直线
classCTriangle
{
private:
CPointm_Point1;//第一个顶点
CPointm_Point2;//第二个顶点
CPointm_Point3;//第三个顶点
//获得两个点之间的距离
doubleGetDistance(CPoint&p1,CPoint&p2)
{
CPointdp=p1-p2;
returndp//***(5)***此处修改后不得使用sqrt函数
}
public:
//构造函数,要求输入三个坐标点
CTriangle(doublex1,doubley1,doublex2,doubley2,doublex3,doubley3)
:m_Point1(x1,y1),m_Point2(x2,y2),m_Point3(x3,y3)
{
}
//计算三角形面积,该函数的完整定义置于类的外部
boolIsobtuseTriangle();
};
boolCPoint::IsobtuseTriangle()//***(6)***
{
//计算三条边的边长
doublea=GetDistance(m_Point1,m_Point2);
doubleb=GetDistance(m_Point2,m_Point3);
doublec=GetDistance(m_Point1,m_Point3);
if(a*a+b*b