需要求3个三角形的面积,请编写一个面向对象的程序。数据成员包括三角形的三边长a、b、 c。要求用成员函数实现以下功能: (1) 定义构造函数完成三角形的初始化; (2) 求三角形的周长; (3) 求三角形的面积; (4) 输出三角形信息。
时间: 2023-04-10 15:04:47 浏览: 231
非常感谢您的问题,我可以回答这个编程类的问题。以下是一个面向对象的程序,用于计算三角形的面积:
```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)
t1:info()
t2 = Triangle:new(5, 12, 13)
t2:info()
```
这个程序定义了一个 Triangle 类,包括构造函数和三个成员函数:perimeter、area 和 info。perimeter 函数用于计算三角形的周长,area 函数用于计算三角形的面积,info 函数用于输出三角形的信息。通过创建 Triangle 对象并调用成员函数,可以计算和输出三角形的周长和面积。
阅读全文