用VC++设计一个矩形类 rectangle ,其属性有左下角坐标和长度、宽度,同时可以实现矩形的移动,和面积的计算。类中定义相应的构造函数,并写出主程序测试该类。
时间: 2024-10-17 08:13:19 浏览: 21
定义一个名为rectangle 的矩形类,其属性数据为矩形左上角和右上角的点的坐标能计算矩形的面积
5星 · 资源好评率100%
在VC++中,我们可以创建一个名为`Rectangle`的类,用于表示矩形并包含所需的功能。以下是基本的设计:
```cpp
#include <iostream>
#include <cmath>
class Rectangle {
public:
// 构造函数,初始化矩形的位置和尺寸
Rectangle(double x = 0, double y = 0, double width = 0, double height = 0) :
leftBottomX(x), leftBottomY(y), width(width), height(height) {}
// 属性
double getLeftBottomX() const { return leftBottomX; }
double getLeftBottomY() const { return leftBottomY; }
double getWidth() const { return width; }
double getHeight() const { return height; }
// 移动矩形
void move(double dx, double dy) {
leftBottomX += dx;
leftBottomY += dy;
}
// 计算面积
double calculateArea() const {
return width * height;
}
private:
double leftBottomX;
double leftBottomY;
double width;
double height;
};
int main() {
// 测试矩形类
Rectangle rect1(0, 0, 5, 4);
std::cout << "Rect1 at (" << rect1.getLeftBottomX() << ", " << rect1.getLeftBottomY() << ") with area: " << rect1.calculateArea() << std::endl;
rect1.move(3, 2);
std::cout << "After moving, Rect1 is at (" << rect1.getLeftBottomX() << ", " << rect1.getLeftBottomY() << ") and area is: " << rect1.calculateArea() << std::endl;
Rectangle rect2(10, 10, 2, 3);
std::cout << "Rect2 at (" << rect2.getLeftBottomX() << ", " << rect2.getLeftBottomY() << ") with area: " << rect2.calculateArea() << std::endl;
return 0;
}
```
在这个例子中,我们定义了一个`Rectangle`类,包含了位置信息(leftBottomX, leftBottomY),宽度和高度属性,以及移动和计算面积的方法。在`main`函数中,我们创建了两个矩形实例并进行了操作,展示了如何使用这个类。
阅读全文