用C++求三角形的面积

来源:百度知道 编辑:UC知道 时间:2024/09/25 11:50:25
1.编写一个Cpoint表示平面上一个点的信息,在此基础上编写一个表示三角形的类Tria,三个顶点为其member objects,编写完整的程序输出三角形的面积,要求调用类的构造函数和析构函数时都有明确的输出信息。
2.将上面的输出三角形的面积的成员函数改为用友元来实现。

请帮忙写一下~

#include<iostream>
#include<math.h>
using namespace std;

struct Cpoint
{
double x, y;
};

class Tria
{
private:
Cpoint a, b, c;
public:
Tria();
~Tria();
friend double get_Mianji(Tria &tra);
};

Tria::Tria()
{
cout<<"这是一个构造函数"<<endl;
cout<<"依次输入3个定点的坐标"<<endl;
cin>>a.x>>a.y>>b.x>>b.y>>c.x>>c.y;
}
Tria::~Tria()
{
cout<<"这是一个析构函数, 释放空间"<<endl;
}

double get_Mianji(Tria & tra)
//计算面积时候,避免了用 浮点数相除,以及求三角函数,最大限度内保证了精度
{
Cpoint p1 , p2;
p1.x = tra.b.x - tra.a.x;
p2.x = tra.c.x - tra.a.x;
p1.y = tra.b.y - tra.a.y;
p2.y = tra.c.y - tra.a.y;

return fabs(p1.x*p2.y - p2.x * p1.y)/2;
}