定义一个Rectangle类,有宽长等属性,重载其构造函数Rectangle()、Rectangle(int with,int length),用C++求矩形的面积
时间: 2024-10-08 11:13:47 浏览: 51
在C++中,你可以创建一个名为Rectangle的类,用于表示矩形并计算它的面积。首先,我们需要定义一些基本属性,如宽度(width)和长度(length)。然后我们将重载构造函数以便接受不同类型的参数。以下是类的定义:
```cpp
#include <iostream>
class Rectangle {
private:
int width;
int length;
public:
// 默认构造函数,宽度和长度都为0
Rectangle() : width(0), length(0) {}
// 两个参数的构造函数,用于初始化矩形的宽和长
Rectangle(int w, int l) : width(w), length(l) {
if (w <= 0 || l <= 0) {
std::cout << "错误:宽度和长度必须为正数。\n";
}
}
// 计算并返回面积的方法
int getArea() const {
return width * length;
}
};
// 示例如何使用这个类
int main() {
// 使用默认构造函数创建一个全零的矩形
Rectangle zeroRect;
std::cout << "全零矩形的面积: " << zeroRect.getArea() << "\n";
// 使用指定参数的构造函数创建一个矩形,并打印其面积
Rectangle customRect(5, 7);
std::cout << "定制矩形的面积: " << customRect.getArea() << "\n";
return 0;
}
```
在这个例子中,我们定义了一个Rectangle类,其中包含了宽度和长度的数据成员,以及重载了构造函数以支持无参和有参两种情况。getArea()是一个纯虚函数,用于计算并返回矩形的面积。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044901.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)