float area(void);//计算并返回三角形的面积
bool isRightTriangle(); //是否为直角三角形
bool isIsoscelesTriangle(); //是否为等腰三角形
private:
CPoint A,B,C; //三顶点
};
void CTriangle::setTriangle(CPoint &X,CPoint &Y,CPoint &Z)//
{
A=X;
B=Y;
C=Z;
}
float CTriangle::perimeter(void)//计算三角形的周长
{
float a,b,c,l;
a=A.Distance(B);
b=B.Distance(C);
c=C.Distance(A);
l=a+b+c;
return l;
}
float CTriangle::area(void)//计算并返回三角形的面积
{
float a,b,c,p,s;
a=A.Distance(B);
b=B.Distance(C);
c=C.Distance(A);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
bool CTriangle::isRightTriangle()//是否为直角三角形
{
double a,b,c;
a=A.Distance(B);
b=B.Distance(C);
c=C.Distance(A);
bool prime=false;
if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
{
prime=true;
}
return prime;
}
bool CTriangle::isIsoscelesTriangle() //是否为等腰三角形
{
double a,b,c;
a=A.Distance(B);
b=B.Distance(C);
c=C.Distance(A);
bool prime=false;
if(a==b||a==c||b==c)
{
prime=true;
}
return prime;
}
int main()
{
CPoint x,y,z;
x.input();
y.input();
z.input();
CTriangle tri(x,y,z); //复制构造函数
cout<<"这个三角形的周长为:"<
}
结果:
感受:定义了两个类,复制构造函数!!!