请用c++编写设计一个矩形类Rect,类数据成员有左上角的坐标值x,y,宽w、高h,要求有下述成员函数。 ⑴move():从一个位置移动到另一个位置。 (2) size():改变矩形的大小。 (3) where():返回矩形右下角的坐标值。 (4) area():计算矩形的面积。
时间: 2024-02-06 10:10:00 浏览: 47
C++ 矩形类 (包括数据成员和函数成员)
5星 · 资源好评率100%
以下是矩形类Rect的C++代码实现:
```cpp
#include<iostream>
using namespace std;
class Rect{
public:
Rect(int xx, int yy, int ww, int hh):x(xx), y(yy), w(ww), h(hh){}
void move(int xx, int yy);
void size(int ww, int hh);
int* where();
int area();
private:
int x, y, w, h;
};
void Rect::move(int xx, int yy){
x = xx;
y = yy;
}
void Rect::size(int ww, int hh){
w = ww;
h = hh;
}
int* Rect::where(){
static int pos[2] = {x+w, y+h};
return pos;
}
int Rect::area(){
return w*h;
}
int main(){
Rect r(0, 0, 5, 10);
cout << "初始位置:(" << r.where()[0] << ", " << r.where()[1] << ")" << endl;
cout << "初始面积:" << r.area() << endl;
r.move(2, 3);
cout << "移动后位置:(" << r.where()[0] << ", " << r.where()[1] << ")" << endl;
r.size(8, 6);
cout << "改变大小后面积:" << r.area() << endl;
return 0;
}
```
输出结果如下:
```
初始位置:(5, 10)
初始面积:50
移动后位置:(10, 13)
改变大小后面积:48
```
其中,Rect类的成员函数move()和size()分别实现了移动和改变大小的功能,where()函数返回矩形右下角的坐标值,area()函数计算矩形的面积。在main函数中,我们创建了一个初始位置为(0,0),宽为5,高为10的矩形对象r,并对其进行了移动和改变大小的操作,最后输出了结果。
阅读全文