设计并实现一个矩形类Rectangle,要求: (1)用左上角和右下角的坐标描述矩形。 (2)计算面积,周长。 (3)移动矩形。 (4)合理的初始化,默认宽和高都是1. 用c++编写测试程序。
时间: 2024-03-10 11:46:24 浏览: 39
好的,这里是用C++实现的Rectangle类和测试程序:
```c++
#include <iostream>
using namespace std;
class Rectangle {
private:
int x1, y1, x2, y2;
public:
Rectangle(int _x1 = 0, int _y1 = 0, int _x2 = 1, int _y2 = 1) {
x1 = _x1;
y1 = _y1;
x2 = _x2;
y2 = _y2;
}
int area() {
return abs(x2 - x1) * abs(y2 - y1);
}
int perimeter() {
return 2 * (abs(x2 - x1) + abs(y2 - y1));
}
void move(int dx, int dy) {
x1 += dx;
y1 += dy;
x2 += dx;
y2 += dy;
}
};
int main() {
Rectangle r1;
cout << "r1 area: " << r1.area() << endl;
cout << "r1 perimeter: " << r1.perimeter() << endl;
r1.move(1, 1);
cout << "r1 area after move: " << r1.area() << endl;
cout << "r1 perimeter after move: " << r1.perimeter() << endl;
Rectangle r2(0, 0, 3, 4);
cout << "r2 area: " << r2.area() << endl;
cout << "r2 perimeter: " << r2.perimeter() << endl;
r2.move(-1, -1);
cout << "r2 area after move: " << r2.area() << endl;
cout << "r2 perimeter after move: " << r2.perimeter() << endl;
return 0;
}
```
这个程序中主要包含两部分:
1. Rectangle类的实现,和之前Python版本的实现一样,包含四个方法:构造函数、计算面积、计算周长、移动矩形。
2. 测试程序,用来测试Rectangle类的方法是否正确。程序中创建了两个Rectangle对象,分别测试了计算面积、计算周长、移动矩形等方法,并输出了对应的结果。