设计一个三角形类 Triangle,包含三角形三条边长的私有数据成员,另有 一个重载运算符“+”,以实现求两个三角形对象的面积之和。用
时间: 2024-02-11 13:04:57 浏览: 108
好的,我理解你的问题是要我设计一个三角形类 Triangle,包含三角形三条边长的私有数据成员,并重载运算符“+”,以实现求两个三角形对象的面积之和。下面是一个参考实现:
```cpp
#include <cmath>
class Triangle {
private:
double a, b, c; // 三角形三条边长
public:
Triangle(double A, double B, double C): a(A), b(B), c(C) {} // 构造函数
double area() const { // 计算面积
double p = (a + b + c) / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
Triangle operator+(const Triangle& t) const { // 重载运算符“+”
double A = a + t.a;
double B = b + t.b;
double C = c + t.c;
return Triangle(A, B, C);
}
};
```
这个类有三个私有数据成员 a、b、c,用来存储三角形的三条边长。构造函数接收三个参数,分别对应三个边长。成员函数 `area()` 用海伦公式计算三角形的面积。重载运算符“+”用来计算两个三角形的面积之和,它返回一个新的 Triangle 对象,新对象的三条边分别是两个 Triangle 对象的对应边之和。
阅读全文