c++设计并实现一个矩形类 Rectangle,要求: (1)用左上角和右下角的坐标描述矩形; (2)计算面积、周长; (3)移动矩形; (4)合理的初始化,默认宽和高都是1。
时间: 2024-01-18 13:02:56 浏览: 116
好的,我来帮你解决这个问题。
以下是实现矩形类 Rectangle 的 c++ 代码:
```cpp
class Rectangle {
private:
int x1, y1, x2, y2; // 左上角和右下角的坐标
public:
Rectangle(int x1 = 0, int y1 = 0, int x2 = 1, int y2 = 1) { // 合理的初始化,默认宽和高都是1
this->x1 = x1;
this->y1 = y1;
this->x2 = x2;
this->y2 = y2;
}
int getLength() const { // 获取矩形的长度
return abs(x1 - x2);
}
int getWidth() const { // 获取矩形的宽度
return abs(y1 - y2);
}
int getArea() const { // 计算矩形的面积
return getLength() * getWidth();
}
int getPerimeter() const { // 计算矩形的周长
return 2 * (getLength() + getWidth());
}
void move(int dx, int dy) { // 移动矩形
x1 += dx;
y1 += dy;
x2 += dx;
y2 += dy;
}
};
```
这个矩形类 Rectangle 中,我们用左上角和右下角的坐标来描述矩形,同时实现了计算面积、周长和移动矩形等功能。在初始化时,我们默认矩形的宽和高都是1,同时也可以通过构造函数传入具体的坐标值。
阅读全文