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

定义一个三角形类(Triangle),该类中包括私有(private)数据成员:x1,y1,x2,y2和x3,y3(分别代表一个三角形的三个顶点坐标)。请为该类设计适当的... 定义一个三角形类(Triangle),该类中包括私有(private)数据成员:x1 , y1,x2 , y2 和 x3 , y3(分别代表一个三角形的三个顶点坐标)。请为该类设计适当的公有(public)类型的函数成员,并在主函数(main)中完成以下功能:
(1)定义一个三角形对象(即定义一个Triangle类的对象),通过之前你所设计的Triangle类的函数成员为该对象进行赋值(即为该对象的x1 , y1,x2 , y2 和 x3 , y3赋值)。通过之前你所设计的Triangle类的函数成员显示该对象的详细信息,即在控制台显示三角形的三个顶点坐标。【6分】
(2)通过你所设计的函数成员计算三角形的面积并在控制台显示。【2.5分】
(3)在类中重载> 、< 和 == 三个逻辑符号,使任意两个三角形对象之间能够按照面积比较大小。【1.5分】
急急急
展开
 我来答
_叶子妞妞_
2015-06-11 · TA获得超过3672个赞
知道小有建树答主
回答量:327
采纳率:83%
帮助的人:89.5万
展开全部

代码如下 供参考

#include <iostream>
#include <cmath>
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()<<endl;

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()<<endl;
cout << "c's area is " << c.area()<<endl;
if(a == b)
cout << "a==b\n";
else if(a>b)
cout << "a>b\n";
else if(a<b)
cout << "a<b\n";

if(a == c)
cout << "a==c\n";
else if(a>c)
cout << "a>c\n";
else if(a<c)
cout << "a<c\n";
if(c == b)
cout << "c==b\n";
else if(c>b)
cout << "c>b\n";
else if(c<b)
cout << "c<b\n";

return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式