设计内嵌点类对象的组合类——矩形类Rectangle,私有属性包含平面上矩形左下角的一个点Point p1和右上角的一个点Point p2,公有成员函数包含求矩形面积的函数;在主函数中测试这个组合类,创建对象并求其面积。 3. 用带有注释的UML图描述题2中Point类和Rectangle类的关系。
时间: 2024-03-18 12:38:30 浏览: 252
好的,以下是对你的问题的回答:
1. 矩形类Rectangle的设计如下:
```C++
class Point {
public:
Point(int x = 0, int y = 0): x(x), y(y) {}
int getX() const { return x; }
int getY() const { return y; }
private:
int x, y;
};
class Rectangle {
public:
Rectangle(const Point& p1, const Point& p2): p1(p1), p2(p2) {}
double getArea() const;
private:
Point p1, p2;
};
double Rectangle::getArea() const {
int length = p2.getX() - p1.getX();
int width = p2.getY() - p1.getY();
return length * width;
}
```
2. 带有注释的UML图如下:
```
+---------+ +---------+
| Point | |Rectangle|
+---------+ +---------+
| - x:int | | - p1:Point
| - y:int | | - p2:Point
+---------+ +---------+
| + Point(x:int, | + Rectangle(p1:Point,
| y:int) | p2:Point)
| + getX():int | + getArea():double
| + getY():int |
+-----------------------+
```
阅读全文