设计一个类CRectangle,除了有相关的数据成员,该类 要求包含下述成员函数:矩形从一个位置移动到另一个位置的Move()函数;改变矩形大小的Size()函数;返回矩形左上角的坐标值的Where()函数;计算矩形面积的Area()函数。
时间: 2024-05-14 07:16:38 浏览: 129
好的,您的第一个问题是如何设计一个类CRectangle,以下是我的回答:
您可以按照以下方式定义类CRectangle:
```
class CRectangle {
private:
double m_dLength; // 矩形长度
double m_dWidth; // 矩形宽度
double m_dLeft; // 矩形左端点x坐标
double m_dTop; // 矩形上端点y坐标
public:
// 构造函数,初始化矩形的长度、宽度、左上角坐标
CRectangle(double length, double width, double left, double top):
m_dLength(length), m_dWidth(width), m_dLeft(left), m_dTop(top) {}
// 移动矩形位置
void Move(double x, double y) {
m_dLeft += x;
m_dTop += y;
}
// 改变矩形大小
void Size(double length, double width) {
m_dLength = length;
m_dWidth = width;
}
// 返回矩形左上角坐标值
double* Where() {
return new double[2]{ m_dLeft, m_dTop };
}
// 返回矩形面积
double Area() {
return m_dLength * m_dWidth;
}
};
```
其中,私有成员变量m_dLength、m_dWidth、m_dLeft、m_dTop分别表示矩形长度、宽度、左上角x坐标和y坐标。公有成员函数包括构造函数、Move()、Size()、Where()和Area()。其中构造函数用于初始化类对象,Move()函数用于移动矩形的位置,Size()函数用于改变矩形的大小,Where()函数用于返回矩形左上角坐标值,Area()函数用于计算矩形面积。
阅读全文