2.编写一个程序,定义一个三角形类Triangle,在类中包含3个私有数据成员用于保存三角形的三条边长。成员函数Area( )用于计算三角形的面积。重载运算符“+”可以求两个三角形对象的面积之和。要求重载为类的友元函数。编。
时间: 2023-06-06 07:06:11 浏览: 386
opengl编程glsl-你好三角形
回答:好的,我可以帮你解答这个问题。
以下是 Triangle 类的实现:
```cpp
class Triangle {
private:
double a, b, c;
public:
Triangle(double a, double b, double c): a(a), b(b), c(c) {};
double Area() {
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
friend double operator+(const Triangle& t1, const Triangle& t2) {
return t1.Area() + t2.Area();
}
};
```
使用示例:
```cpp
Triangle t1(3, 4, 5); // 定义一个边长为 3, 4, 5 的三角形
Triangle t2(5, 7, 9); // 定义一个边长为 5, 7, 9 的三角形
double totalArea = t1 + t2; // 计算两个三角形的面积之和
cout << "Total area: " << totalArea << endl; // 输出面积之和
```
希望我的答案能够帮到你!
阅读全文