用cpp编写:定义一个点Point类,有点坐标属性(x, y),再定义一个矩形Rectangle类,其属性为两个Point点(分别表示矩形对角线上两点的坐标),及含有计算矩形的周长及面积的成员函数;
时间: 2024-03-27 12:38:59 浏览: 72
定义一个名为rectangle 的矩形类,其属性数据为矩形左上角和右上角的点的坐标能计算矩形的面积
5星 · 资源好评率100%
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Point {
private:
double x, y;
public:
Point(double x = 0, double y = 0) : x(x), y(y) {}
double getX() const { return x; }
double getY() const { return y; }
};
class Rectangle {
private:
Point p1, p2;
public:
Rectangle(Point p1, Point p2) : p1(p1), p2(p2) {}
double perimeter() const {
double length = abs(p1.getX() - p2.getX());
double width = abs(p1.getY() - p2.getY());
return 2 * (length + width);
}
double area() const {
double length = abs(p1.getX() - p2.getX());
double width = abs(p1.getY() - p2.getY());
return length * width;
}
};
int main() {
Point p1(1, 1);
Point p2(4, 5);
Rectangle r(p1, p2);
cout << "Perimeter: " << r.perimeter() << endl;
cout << "Area: " << r.area() << endl;
return 0;
}
```
这段代码定义了一个Point类和一个Rectangle类。Point类表示一个二维平面上的点,其中包括横纵坐标属性。Rectangle类表示一个矩形,其中包括两个Point点,分别表示矩形对角线上两点的坐标。Rectangle类还包括计算矩形周长和面积的成员函数perimeter()和area()。在主函数中创建了两个Point点和一个Rectangle对象,并调用Rectangle对象的perimeter()和area()方法分别计算矩形的周长和面积,并输出结果。
阅读全文