编写一个程序,设计一个类Trig,给定三角形的三条边长x,y,z,包含一个友元函数计算两个三角形面积之和。
#include
using namespace std;
class Trig2;
class Trig1 {
public:
Trig1(int xx1 = 0, int yy1 = 0, int zz1 = 0) : x1(xx1), y1(yy1), z1(zz1) {}
int getX() { return x1; }
int gerY() { return y1; }
int gerZ() { return z1; }
friend float dist(Trig1 &T1, Trig2 &T2);
private:
int x1, y1 ,z1;
};
class Trig2 {
public:
Trig2(int xx2 = 0, int yy2 = 0, int zz2 = 0) : x2(xx2), y2(yy2), z2(zz2) {}
int getX() { return x2; }
int gerY() { return y2; }
int gerZ() { return z2; }
friend float dist(Trig1 &T1, Trig2 &T2);
private:
int x2, y2, z2;
};
float dist(Trig1 &T1, Trig2 &T2)
{
double area1 = (T1.x1 + T1.y1 + T1.z1) / 2.0;
double area2 = (T2.x2 + T2.y2 + T2.z2) / 2.0;
return static_cast(area1 + area2);
}
void main()
{
Trig1 T1(1,2,3);
Trig2 T2(4,5,2);
cout << dist(T1, T2) << endl;
}