2、需要求3个三角形的面积,请编写一个面向对象的程序。数据成员包括三角形的三边长a、b、 c。要求用成员函数实现以下功能: (1) 定义构造函数完成三角形的初始化; (2) 求三角形的周长; (3) 求三角形的面积; (4) 输出三角形信息。
时间: 2023-04-10 17:04:47 浏览: 84
非常感谢您的问题!以下是我为您编写的面向对象程序:
```lua
-- 定义 Triangle 类
Triangle = {}
-- 定义 Triangle 的构造函数
function Triangle:new(a, b, c)
local obj = {a = a, b = b, c = c}
setmetatable(obj, self)
self.__index = self
return obj
end
-- 定义 Triangle 的成员函数
function Triangle:perimeter()
return self.a + self.b + self.c
end
function Triangle:area()
local p = self:perimeter() / 2
return math.sqrt(p * (p - self.a) * (p - self.b) * (p - self.c))
end
function Triangle:info()
print("Triangle with sides:", self.a, self.b, self.c)
print("Perimeter:", self:perimeter())
print("Area:", self:area())
end
-- 创建三个 Triangle 对象
t1 = Triangle:new(3, 4, 5)
t2 = Triangle:new(5, 12, 13)
t3 = Triangle:new(7, 8, 10)
-- 输出三角形信息
t1:info()
t2:info()
t3:info()
```
希望这个程序能够帮助您解决问题!
阅读全文