c++设计并测试一个矩形类(Rectangle), 属性为矩形的左下角与右上角的坐标,矩形水平放置。操作为计算矩形的周长与面积。测试包括用成员函数和普通函数。
时间: 2024-12-15 12:30:03 浏览: 7
按以下描述和要求建立两个类:基类 Rectangle(矩形类) 和派生类 Cube(正方体)
在 C++ 中,设计一个矩形类 (Rectangle) 可以按照以下步骤进行:
```cpp
#include <iostream>
class Rectangle {
public:
// 构造函数,初始化矩形的左下角(x1, y1) 和右上角(x2, y2)
Rectangle(int x1, int y1, int x2, int y2)
: left_x{x1}, bottom_y{y1}, right_x{x2}, top_y{y2} {}
// 计算矩形周长的成员函数
int perimeter() const {
return 2 * (right_x - left_x + top_y - bottom_y);
}
// 计算矩形面积的成员函数
int area() const {
return (right_x - left_x) * (top_y - bottom_y);
}
// 使用普通函数进行周长和面积的计算
static int calculatePerimeter(int x1, int y1, int x2, int y2) {
Rectangle rectangle(x1, y1, x2, y2);
return rectangle.perimeter();
}
static int calculateArea(int x1, int y1, int x2, int y2) {
Rectangle rectangle(x1, y1, x2, y2);
return rectangle.area();
}
private:
int left_x;
int bottom_y; // 矩形左下角的坐标
int right_x;
int top_y; // 矩形右上角的坐标
};
// 测试代码
int main() {
Rectangle rect(0, 0, 5, 10); // 创建一个宽度为5,高度为10的矩形
std::cout << "Rectangular perimeter: " << rect.perimeter() << std::endl;
std::cout << "Rectangular area: " << rect.area() << std::endl;
int custom_perimeter = Rectangle::calculatePerimeter(3, 4, 8, 9);
int custom_area = Rectangle::calculateArea(3, 4, 8, 9);
std::cout << "Calculated perimeter: " << custom_perimeter << std::endl;
std::cout << "Calculated area: " << custom_area << std::endl;
return 0;
}
```
在这个例子中,我们首先定义了一个 `Rectangle` 类,包含了构造函数、成员函数 (perimeter 和 area) 以及两个静态函数 (calculatePerimeter 和 calculateArea) 用于外部调用。在 `main()` 函数中,我们创建了一个矩形实例并测试了它的周长和面积,同时也通过静态函数演示了如何计算任意矩形的周长和面积。
阅读全文