C++ rectangle 重载
时间: 2024-10-17 14:01:49 浏览: 24
在C++中,"rectangle"通常是指矩形数据结构,如果你想要创建一个Rectangle类并且希望重载操作符或函数以支持不同的行为,你可以考虑重载运算符或成员函数,例如:
1. **运算符重载**:
- 如果你想让Rectangle类能够相加、相减、比较大小等,可以重载"+"、"-"和"=="等运算符。例如,你可以定义一个`+`运算符来合并两个矩形的边长。
```cpp
class Rectangle {
public:
int width;
int height;
// 重载+
Rectangle operator+(const Rectangle &other) {
return Rectangle{width + other.width, height + other.height};
}
// 其他可能需要重载的运算符...
};
```
2. **成员函数重载**:
- 可能会重载成员函数如面积计算、边长设置等,以便有不同的行为版本。
```cpp
class Rectangle {
public:
int width;
int height;
// 重载面积计算方法
int area() const override { return width * height; }
int perimeter() const override { return 2 * (width + height); }
void setWidth(int newWidth) { width = newWidth; }
void setHeight(int newHeight) { height = newHeight; }
private:
friend bool operator==(const Rectangle &a, const Rectangle &b);
};
// 重载==
bool operator==(const Rectangle &a, const Rectangle &b) {
return a.width == b.width && a.height == b.height;
}
```
阅读全文