简答题 声明并实现一个矩形类,其属性为矩形的左下角与右上角两个点,并能计算矩形的面积。(先做Point类,再做矩形类,注意组合类的构造函数) 使用using namespace std
时间: 2024-10-07 14:02:03 浏览: 39
湖北高职统考计算机全部简答题
5星 · 资源好评率100%
首先,我们创建一个`Point`类表示二维坐标,它包含x和y坐标:
```cpp
#include <iostream>
using namespace std;
class Point {
public:
double x;
double y;
// 构造函数
Point(double x = 0.0, double y = 0.0) : x(x), y(y) {}
// 显示点的坐标
void display() const {
cout << "Point (" << x << ", " << y << ")" << endl;
}
};
```
接着,我们将创建一个`Rectangle`类,它包含两个`Point`对象代表矩形的顶点,并提供计算面积的方法:
```cpp
class Rectangle {
private:
Point topLeft; // 左下角点
Point topRight; // 右上角点
public:
// 构造函数,接收两个点作为矩形的边界
Rectangle(const Point& topLeft, const Point& topRight)
: topLeft(topLeft), topRight(topRight) {}
// 计算并返回矩形面积
double getArea() const {
return (topRight.x - topLeft.x) * (topRight.y - topLeft.y);
}
// 显示矩形信息
void display() const {
cout << "Rectangle: Top Left = (" << topLeft.x << ", " << topLeft.y << ")";
cout << ", Top Right = (" << topRight.x << ", " << topRight.y << ")" << endl;
cout << "Area: " << getArea() << endl;
}
};
```
你可以像下面这样使用这两个类:
```cpp
int main() {
Point p1(0, 0); // 创建左下角点
Point p2(5, 4); // 创建右上角点
Rectangle rect(p1, p2);
rect.display(); // 显示矩形信息
cout << "Rectangle area: " << rect.getArea() << endl;
return 0;
}
```
阅读全文