请用C++语言设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角和右上角两个点的坐标; (1)根据坐标能计算矩形的面积 (2)增加静态成员counter ,使之能统计出创建的矩形的个数 给出程序源代码
时间: 2024-10-05 21:03:45 浏览: 43
按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)
在C++中,我们可以设计一个名为`Rectangle`的类,用于表示矩形,包含左下角和右上角两点的坐标,并提供计算面积以及计数的功能。以下是这个类的实现:
```cpp
#include <iostream>
class Rectangle {
private:
int left_x, bottom_y; // 矩形左下角坐标
int right_x, top_y; // 矩形右上角坐标
public:
// 构造函数
Rectangle(int left_x, int bottom_y, int right_x, int top_y) :
left_x(left_x), bottom_y(bottom_y), right_x(right_x), top_y(top_y) {
++Rectangle::counter; // 统计矩形个数
}
// 计算面积
int calculateArea() const {
return (right_x - left_x) * (top_y - bottom_y);
}
// 获取矩形个数
static int getCount() {
return counter;
}
private:
// 静态成员变量,记录矩形总数
static int counter = 0;
};
// 测试类
int main() {
Rectangle rect1(0, 0, 5, 5); // 创建第一个矩形
std::cout << "Rect1 area: " << rect1.calculateArea() << std::endl;
Rectangle rect2(10, 10, 15, 15); // 创建第二个矩形
std::cout << "Rect2 area: " << rect2.calculateArea() << std::endl;
std::cout << "Total rectangles created: " << Rectangle::getCount() << std::endl;
return 0;
}
```
在这个例子中,当我们创建矩形实例时,构造函数会自动更新静态成员`counter`。我们还提供了`calculateArea`方法来计算矩形面积,并通过静态函数`getCount`获取当前已经创建的矩形总数。
运行上述代码,你会看到每个矩形的面积以及总共创建了多少个矩形。
阅读全文