Triangle::Triangle(Point a,Point b,Point c):la(a,b),lb(a,c),lc(b,c){ } double Triangle::getGirth(){ return la.GetDistance()+lb.GetDistance()+lc.GetDistance(); } double Triangle::getArea(){ double h; h = (getGirth()/2); return sqrt(h*(h-la.GetDistance())*(h-lb.GetDistance())*(h-lc.GetDistance())); }
时间: 2024-04-27 18:22:42 浏览: 121
这里是 Triangle 类的函数实现部分,包括构造函数 Triangle(Point a, Point b, Point c)、getGirth() 和 getArea() 函数。
构造函数 Triangle(Point a, Point b, Point c) 的实现中,使用 a、b、c 三个点初始化了三条边 la、lb、lc。
getGirth() 函数的实现中,使用 la、lb、lc 三条边的 GetDistance() 函数获取它们的长度,然后将它们相加得到三角形周长。
getArea() 函数的实现中,首先调用 getGirth() 函数获取三角形周长,然后使用海伦公式计算三角形面积。其中 h 是周长的一半,而 la、lb、lc 三条边的长度则分别通过 la.GetDistance()、lb.GetDistance() 和 lc.GetDistance() 获取。
相关问题
class Triangle { public: Triangle(Point a,Point b,Point c); Triangle(); double getGirth(); //三角形周长 double getArea(); //三角形面积 int IsATriangle(); //判断三个点是否能构成三角形 private: Point pa,pb,pc; Line la,lb,lc; };
这是一个 C++ 的 Triangle 类定义,由三个 Point 对象组成,表示一个三角形。类中定义了两个构造函数,一个默认构造函数 Triangle(),一个构造函数 Triangle(Point a, Point b, Point c),和三个公有函数 getGirth()、getArea() 和 IsATriangle()。
构造函数 Triangle(Point a, Point b, Point c) 的实现中,将传入的三个 Point 对象分别赋值给成员变量 pa、pb、pc,并且使用这三个点初始化了三条边 la、lb、lc。
getGirth() 函数的实现中,分别获取三条边的长度,然后将其相加得到三角形周长。
getArea() 函数的实现中,使用海伦公式计算三角形面积。海伦公式是根据三角形的三边长计算面积的公式。
IsATriangle() 函数的实现中,判断三个点是否能构成三角形。如果三条边都存在且第 i 条边的长度小于第 i+1 和 i+2 条边长度之和,则可以构成三角形。
声明一个三角形类Triangle,包含属性:a,b,c,表示三条边,包含几个方法: 1.is_equal_triangle:判断是否是等边三角形 2.is_right_triangle:判断是否是
当然,我可以帮你设计一个简单的`Triangle`类,并包含你提到的两个方法。在这个类中,我们需要对边长进行比较并检查三角形的性质。
```python
class Triangle:
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
# 判断是否是等边三角形
def is_equal_triangle(self):
return self.a == self.b == self.c
# 判断是否是直角三角形
def is_right_triangle(self):
sides = [self.a, self.b, self.c]
sides.sort() # 先排序,假设c是最长边
return (sides[2]**2) == (sides[0]**2 + sides[1]**2)
# 示例用法
triangle = Triangle(3, 3, 3)
print(triangle.is_equal_triangle()) # 输出:True
print(triangle.is_right_triangle()) # 输出:True 或 False,取决于输入的具体数值
#
阅读全文