声明一个类Triangle,其中包括三角形的三条边,三条边的默认值 为3、4、5,另外也支持在建立对象时初始化其他的值; 2.定义两个对象t1t2,其中t/1的三条边取默认值,t2的三条边初 始化为6.8.10; 3. 再定义一个对象计3,要求通过运算符重载实现 tr3=tr1 +tr2,并输 出tr3的当据
时间: 2024-03-12 07:49:53 浏览: 48
用c++设计一个三角形类Triangle,包含三角形三条边长的私有数据成员,另有一个重载运算符“+”,以实现求两个三角形对象的面积之和。
4星 · 用户满意度95%
好的,下面是代码实现:
```cpp
#include <iostream>
class Triangle {
public:
double a, b, c;
Triangle() : a(3), b(4), c(5) {} // 默认值为3、4、5
Triangle(double a, double b, double c) : a(a), b(b), c(c) {} // 允许初始化其他的值
};
Triangle operator+(const Triangle& t1, const Triangle& t2) {
return Triangle(t1.a + t2.a, t1.b + t2.b, t1.c + t2.c);
}
int main() {
Triangle t1, t2(6, 8, 10);
Triangle tr3 = t1 + t2;
std::cout << "tr3: " << tr3.a << ", " << tr3.b << ", " << tr3.c << std::endl;
return 0;
}
```
运行结果:
```
tr3: 9, 12, 15
```
注意事项:
1. 运算符重载函数必须定义为类的友元函数,因为它需要访问类的私有成员。
2. 在重载加号运算符时,返回值类型为Triangle对象,输入参数为两个Triangle对象的引用。
3. 在main函数中,t1使用默认构造函数,t2使用带参数的构造函数,tr3使用运算符重载函数。
阅读全文