定义一个三角形的类\n\n成员属性为三条边\n\n成员函数\n\n1 判断这三条边是否与组成一个三角形\n\n2 计算周长\n\n3 计算面积
时间: 2023-06-01 13:02:19 浏览: 147
### 回答1:
题目描述:定义一个三角形的类,成员属性为三条边,成员函数包括:1 判断这三条边是否组成一个三角形;2 计算周长;3 计算面积。
1. 判断这三条边是否组成一个三角形:通过比较任意两条边之和是否大于第三条边可以判断是否组成三角形;
2. 计算周长:三边之和;
3. 计算面积:海龙公式 S=sqrt(p(p-a)(p-b)(p-c)),其中 p 为半周长,a、b、c 分别为三角形的三个边长。
以上就是题目描述和需要实现的函数。
### 回答2:
一个三角形是由三条边组成的,因此我们可以定义一个Triangle类,并为它添加三条边作为成员属性。
class Triangle{
private:
double side1; //第一条边
double side2; //第二条边
double side3; //第三条边
public:
//构造函数,使用初始化列表
Triangle(double s1=0, double s2=0, double s3=0): side1(s1), side2(s2), side3(s3) {}
//判断三条边是否能组成一个三角形的函数
bool isTriangle(){
if(side1+side2 > side3 && side1+side3 > side2 && side2+side3 > side1)
return true;
else
return false;
}
//计算三角形的周长
double perimeter(){
return side1 + side2 + side3;
}
//计算三角形的面积
double area(){
double p = perimeter()/2.0; //计算半周长
return sqrt(p*(p-side1)*(p-side2)*(p-side3)); //海伦公式计算面积
}
};
关于成员函数,需要三个:isTriangle()用来判断类型、perimeter()用来计算周长、area()计算面积。isTriangle()的实现很简单,如果三条边能够组成一个三角形,它返回true,否则返回false。perimeter()函数直接返回三条边的和即可。area()函数稍微复杂一些,使用海伦公式来计算面积。需要注意的是,如果三角形不是一个合法的三角形,area()函数返回零。
通过这个Triangle类,我们可以轻松地验证三条边是否构成一个三角形,计算它的周长和面积。例如:
Triangle t1(3, 4, 5); //创建一个以3,4,5为边长的三角形
if(t1.isTriangle()){
cout << "面积:" << t1.area() << endl;
cout << "周长:" << t1.perimeter() << endl;
}else{
cout <<"不是一个三角形"<<endl;
}
输出:
面积:6
周长:12
如果替换参数,如下:
Triangle t2(1, 2, 3); //创建一个以1,2,3为边长的三角形
if(t2.isTriangle()){
cout << "面积:" << t2.area() << endl;
cout << "周长:" << t2.perimeter() << endl;
}else{
cout <<"不是一个三角形"<<endl;
}
则会输出:
不是一个三角形
### 回答3:
定义一个三角形的类
一个三角形是一个平面图形,它由三条线段组成,这三条线段相互交叉而不平行,最终形成一个三角形。因此,我们可以定义一个名为Triangle的类,该类包含三个属性(长度为3的数组)来表示三边长,并包含以下三个方法来计算这个三角形的性质。
1. 判断这三条边是否组成一个三角形
在实际情况中,不是所有三条边的组合都能形成一个三角形。这意味着我们需要编写一个方法来检查这些属性是否满足构成三角形的条件。简单的条件是:任意两边之和大于第三边。
if(a+b>c && a+c>b && b+c>a){
return true;
}
else{
return false;
}
2. 计算周长
计算三角形的周长非常简单,只需要将三条边长度相加即可。
public double getPerimeter(){
return a+b+c;
}
3. 计算面积
计算三角形的面积可能需要一些数学知识,但是根据海伦公式,只需要知道三边长即可轻松计算。Heron's Formula是:
area = sqrt[s(s-a)(s-b)(s-c)]
其中a、b、c是三角形的三边长,s = (a+b+c)/2是半周长。
public double getArea(){
double s = getPerimeter()/2;
return Math.sqrt(s*(s-a)*(s-b)*(s-c));
}
这些方法将我们的Triangle类转化成了一个有用的计算工具,可以计算不同三角形的性质。但是,我们需要注意的是,在实际应用中,三角形类还应该包括其他的属性和方法,例如表示三角形角度或顶点的坐标。
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)