定义矩形类,有长和宽两个成员变量,另有成员变量“”面积“”。用成员函数形式对操作符+进行重载,生成新矩形的长和宽为两个矩形长和宽的分别相加。 以友元函数方式重载运算符“”*“”, 生成新的矩形对象为两个矩形对象长和宽的乘积.
时间: 2024-09-23 11:03:03 浏览: 57
在编程中,我们可以定义一个矩形类(Rectangle),它包含长(length)和宽(width)作为数据成员,以及计算面积(area)的方法。为了实现你说的操作符重载,我们将在矩形类中进行:
```cpp
class Rectangle {
private:
double length;
double width;
public:
// 构造函数
Rectangle(double l, double w) : length(l), width(w) {}
// 计算面积的方法
double getArea() const { return length * width; }
// 运算符+:将两个矩形的长度和宽度相加,生成新矩形
friend Rectangle operator+(const Rectangle &r1, const Rectangle &r2);
// 友元函数:运算符*,返回两个矩形面积的乘积
friend Rectangle operator*(const Rectangle &r1, const Rectangle &r2);
};
// 对+的重载实现
Rectangle operator+(const Rectangle &r1, const Rectangle &r2) {
return Rectangle(r1.length + r2.length, r1.width + r2.width);
}
// 对*的友元函数实现
Rectangle operator*(const Rectangle &r1, const Rectangle &r2) {
return Rectangle(r1.length * r2.length, r1.width * r2.width);
}
```
上述代码首先定义了一个矩形类,然后通过`friend`关键字声明了`operator+`和`operator*`为友元函数,以便可以在矩形类外部直接作用于矩形对象。这两个函数接收两个矩形对象,根据题目描述进行了相应的操作并返回一个新的矩形。
阅读全文