4.\t请编写一个面向对象的程序求三角形的面积。数据成员包括三角形的三边长a、b、 c。要求用成员函数实现以下功能: \n(1) 定义构造函数完成三角形的初始化;\n(2) 求三角形的周长;\n(3) 求三角
时间: 2023-04-16 14:01:03 浏览: 199
形的面积。
以下是一个面向对象的程序,用于求解三角形的面积:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Triangle {
private:
double a, b, c;
public:
Triangle(double a, double b, double c) {
this->a = a;
this->b = b;
this->c = c;
}
double perimeter() {
return a + b + c;
}
double area() {
double p = perimeter() / 2;
return sqrt(p * (p - a) * (p - b) * (p - c));
}
};
int main() {
double a, b, c;
cout << "请输入三角形的三边长:";
cin >> a >> b >> c;
Triangle t(a, b, c);
cout << "三角形的周长为:" << t.perimeter() << endl;
cout << "三角形的面积为:" << t.area() << endl;
return ;
}
```
在上面的程序中,我们定义了一个 `Triangle` 类,它有三个私有数据成员 `a`、`b`、`c`,分别表示三角形的三条边长。我们还定义了一个构造函数,用于初始化三角形的三边长。此外,我们还定义了两个成员函数 `perimeter()` 和 `area()`,分别用于求解三角形的周长和面积。
在 `main()` 函数中,我们首先从用户输入三角形的三边长,然后创建一个 `Triangle` 对象 `t`,并调用它的 `perimeter()` 和 `area()` 成员函数来求解三角形的周长和面积。最后,我们将结果输出到屏幕上。
注意,我们在求解三角形的面积时,使用了海伦公式:$S = \sqrt{p(p-a)(p-b)(p-c)}$,其中 $p$ 表示三角形的半周长,即 $p = \frac{a+b+c}{2}$。
阅读全文