用c++定义一个三角形类

2025-03-04 20:23:20
推荐回答(1个)
回答(1):

代码如下 供参考

#include 
#include 
using namespace std;

class Triangle
{
double x1,y1,x2,y2,x3,y3;
public:
Triangle(double a=0,double b=0, double c=0, double d=0, double e=0, double f=0):
x1(a),y1(b),x2(c),y2(d),x3(e),y3(f)
{
}
void setA(double x, double y)
{
x1 = x;
y1 = y;
}
void setB(double x, double y)
{
x2 = x;
y2 = y;
}
void setC(double x, double y)
{
x3 = x;
y3 = y;
}
void display(void)
{
cout << "A(" << x1 << ',' << y1 << "), B(" 
<< x2 << ',' << y2 << "), C(" 
<< x3 << ',' << y3 << ")"<< endl; 
}
double area(void)
{
double a,b,c;
double d;
a = sqrt(pow(x1-x2,2)+pow(y1-y2,2));
b = sqrt(pow(x2-x3,2)+pow(y2-y3,2));
c = sqrt(pow(x1-x3,2)+pow(y1-y3,2));
d = (a+b+c)/2;
return sqrt(d*(d-a)*(d-b)*(d-c));
}
bool operator==(Triangle & a)
{
return area() == a.area();
}
bool operator>(Triangle & a)
{
return  area() > a.area() ;
}
bool operator<(Triangle & a)
{
return area() < a.area() ;
}
};

int main()
{
Triangle a,b,c;

a.setA(0,0);
a.setB(0,3);
a.setC(4,0);
a.display();

cout << "a's area is " << a.area()<
b.setA(1,1);
b.setB(1,4);
b.setC(5,1);

c.setA(0,0);
c.setB(0,4);
c.setC(6,0);

cout << "b's area is " << b.area()< cout << "c's area is " << c.area()< if(a == b)
cout << "a==b\n";
else if(a>b)
cout << "a>b\n";
else if(a cout << "a
if(a == c)
cout << "a==c\n";
else if(a>c)
cout << "a>c\n";
else if(a cout << "a if(c == b)
cout << "c==b\n";
else if(c>b)
cout << "c>b\n";
else if(c cout << "c
return 0;
}