构造一个矩形类 Rectangle,数据成员为矩形的左下角与右上角的坐标,并利用成员函数实现对矩形周长与面积的计算。帮我用c++的语言写出这个代码
时间: 2024-10-23 13:17:14 浏览: 38
当然,这是一个简单的C++矩形类的例子,包含左下角和右上角的坐标,以及计算周长和面积的成员函数:
```cpp
#include <iostream>
#include <cmath> // 包含math库以便使用sqrt函数
class Rectangle {
private:
double left; // 左下角x坐标
double bottom; // 左下角y坐标
double right; // 右上角x坐标
double top; // 右上角y坐标
public:
// 构造函数,接收四个坐标参数
Rectangle(double left, double bottom, double right, double top)
: left(left), bottom(bottom), right(right), top(top) {
if (left > right || bottom > top) {
std::cerr << "Invalid coordinates for rectangle!" << std::endl;
}
}
// 计算周长
double perimeter() const {
return 2 * (left + right) + 2 * (bottom + top);
}
// 计算面积
double area() const {
return (right - left) * (top - bottom);
}
// 显示矩形信息
void display() const {
std::cout << "Left: " << left << ", Bottom: " << bottom << ", Right: " << right << ", Top: " << top << std::endl;
std::cout << "Perimeter: " << perimeter() << ", Area: " << area() << std::endl;
}
};
int main() {
Rectangle rectangle(0, 0, 10, 5); // 创建一个宽度为10,高度为5的矩形
rectangle.display(); // 输出矩形信息及周长和面积
return 0;
}
```
在这个例子中,矩形类有四个私有成员变量分别存储矩形的坐标,构造函数接收这四个坐标作为输入。`perimeter()`和`area()`函数分别计算周长和面积,`display()`函数则用于打印矩形的坐标及其相关信息。注意,构造函数检查了输入坐标是否合理,避免了非法矩形的创建。
阅读全文