1、
编写一个程序,设计一个类Trig,给定三角形的三条边长x,y,z,包含一个友元函数计算两个三角形面积之和。
在这里插入代码片
#include <iostream>
#include <cmath>
using namespace std;
class Trig
{
double x, y, z;
double area() //求三角形面积
{
double d = (x + y + z) / 2;
return sqrt(d*(d - x)*(d - y)*(d - z));
}
public:
Trig(int i, int j, int k) { x = i; y = j; z = k; }
int istrig() //判断是否构成三角形
{
if (x + y>z && x + z>y && y + z>x)
return 1;
else
return 0;
}
friend double twoarea(Trig, Trig); //友元函数声明
};
double twoarea(Trig t1, Trig t2) //友元函数实现
{
return t1.area() + t2.area();
}
void main()
{
Trig t1(6, 5, 8), t2(9, 6, 12);
if (t1.istrig() && t2.istrig())
cout << "两三角形面积之和:" << twoarea(t1, t2)
<< endl;
else
cout << "不能构成三角形" << endl;
}