c++已知矩形的长和宽,设计类用来求矩形的面积和周长。要求设计不同的构造函数完成对不同对象的构建。在主函数中定义该类对象,完成对类的成员访问。
时间: 2024-10-23 10:06:53 浏览: 53
在C++中,为了设计一个计算矩形面积和周长的类,我们可以创建一个名为`Rectangle`的类,并提供多个构造函数以适应不同的输入情况。以下是这个类的一个实现:
```cpp
#include <iostream>
class Rectangle {
public:
// 构造函数1:默认无参,初始化长和宽为0
Rectangle() : length(0), width(0) {}
// 构造函数2:接收长和宽作为参数
Rectangle(double l, double w) : length(l), width(w) {
calculateAreaAndPerimeter();
}
// 计算并设置面积和周长
void calculateAreaAndPerimeter() {
area = length * width;
perimeter = 2 * (length + width);
}
// 获取面积和周长
double getArea() const { return area; }
double getPerimeter() const { return perimeter; }
private:
double length;
double width;
double area;
double perimeter;
// 避免直接修改面积和周长,防止意外更改
Rectangle& operator=(const Rectangle&) = delete;
};
int main() {
// 使用构造函数1创建一个默认的矩形
Rectangle rect1;
std::cout << "Rect1 Area: " << rect1.getArea() << ", Perimeter: " << rect1.getPerimeter() << std::endl;
// 使用构造函数2创建指定长和宽的矩形
Rectangle rect2(5.0, 3.0);
std::cout << "Rect2 Area: " << rect2.getArea() << ", Perimeter: " << rect2.getPerimeter() << std::endl;
return 0;
}
```
在这个例子中,我们定义了两个构造函数:一个无参的默认构造函数用于初始化默认大小的矩形,另一个带两个参数的构造函数用于根据给定的长度和宽度创建矩形。`calculateAreaAndPerimeter`方法用于计算并存储面积和周长。在`main`函数中,我们分别展示了如何使用这两个构造函数创建对象并获取其属性。
阅读全文