|  | 
 
 发表于 2023-10-18 14:00:27
|
显示全部楼层 
| 问题可能出在你的构造函数上。请确保你的构造函数正确地初始化了三角形的三个边长。 
 以下是一个示例的三角形类及其构造函数的实现:
 
 
 复制代码#include <iostream>
#include <cmath>
class Triangle {
private:
    double side1;
    double side2;
    double side3;
public:
    Triangle(double s1, double s2, double s3) {
        side1 = s1;
        side2 = s2;
        side3 = s3;
    }
    double getPerimeter() {
        return side1 + side2 + side3;
    }
    double getArea() {
        double s = getPerimeter() / 2;
        return sqrt(s * (s - side1) * (s - side2) * (s - side3));
    }
};
int main() {
    double s1, s2, s3;
    std::cout << "请输入三角形的三个边长:";
    std::cin >> s1 >> s2 >> s3;
    Triangle triangle(s1, s2, s3);
    double perimeter = triangle.getPerimeter();
    double area = triangle.getArea();
    std::cout << "三角形的周长为:" << perimeter << std::endl;
    std::cout << "三角形的面积为:" << area << std::endl;
    return 0;
}
 在上面的代码中,构造函数  Triangle(double s1, double s2, double s3)  接受三个参数,分别代表三角形的三个边长。构造函数将这些值分别赋给类的私有成员变量  side1 、 side2  和  side3 。
 
 getPerimeter()  函数返回三角形的周长,即三个边长的和。
 
 getArea()  函数使用海伦公式计算三角形的面积,并返回结果。海伦公式为:面积 = sqrt(s * (s - side1) * (s - side2) * (s - side3)),其中 s 是三角形的半周长。
 
 最后,通过用户输入的边长创建一个三角形对象,并分别计算其周长和面积,然后输出结果。
 
 希望以上解答对你有帮助!如果有任何疑问,请随时提问。
 | 
 |