用C++编写声明一个类Triangle,定义两个对象tr1、tr2,其中tr1的三条边取默认值,tr2的三条边初始化为6、8. 10
时间: 2024-03-13 10:42:31 浏览: 100
用c++设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求多个个三角形对象的面积之和。
4星 · 用户满意度95%
好的,以下是用C++声明一个类Triangle并定义两个对象tr1、tr2的代码,其中tr1的三条边取默认值,tr2的三条边初始化为6、8、10:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Triangle {
private:
double side1;
double side2;
double side3;
public:
// 默认构造函数
Triangle() : side1(3), side2(4), side3(5) {}
// 构造函数
Triangle(double s1, double s2, double s3) : side1(s1), side2(s2), side3(s3) {}
// 获取三角形的三边长
double getSide1() { return side1; }
double getSide2() { return side2; }
double getSide3() { return side3; }
// 设置三角形的三边长
void setSides(double s1, double s2, double s3) {
side1 = s1;
side2 = s2;
side3 = s3;
}
// 计算三角形的周长
double perimeter() {
return side1 + side2 + side3;
}
// 计算三角形的面积
double area() {
double p = (side1 + side2 + side3) / 2; // 计算半周长
return sqrt(p * (p - side1) * (p - side2) * (p - side3)); // 海伦公式
}
};
int main() {
Triangle tr1; // 默认值
Triangle tr2(6, 8, 10); // 初始化为6、8、10
// 输出三角形的边长、周长和面积
cout << "tr1: side1=" << tr1.getSide1() << ", side2=" << tr1.getSide2() << ", side3=" << tr1.getSide3() << endl;
cout << "tr1: perimeter=" << tr1.perimeter() << ", area=" << tr1.area() << endl;
cout << "tr2: side1=" << tr2.getSide1() << ", side2=" << tr2.getSide2() << ", side3=" << tr2.getSide3() << endl;
cout << "tr2: perimeter=" << tr2.perimeter() << ", area=" << tr2.area() << endl;
return 0;
}
```
输出结果为:
```
tr1: side1=3, side2=4, side3=5
tr1: perimeter=12, area=6
tr2: side1=6, side2=8, side3=10
tr2: perimeter=24, area=24
```
其中 `main()` 函数中定义了两个 Triangle 类型的对象 tr1 和 tr2,分别使用默认构造函数和带参数的构造函数进行初始化。在输出结果中,我们可以看到 tr1 的三条边长为默认值 3、4、5,周长为 12,面积为 6;tr2 的三条边长为 6、8、10,周长为 24,面积为 24。
阅读全文