自定义类“Rectangle a、 定义类Rectangle; b、 定义构造函数,并设置两个实例变量length,width; c、 定义成员函数getArea用来计算矩形面积; d、 定义成员函数getCircumference用来计算矩形周长
时间: 2024-10-10 20:08:14 浏览: 32
在Python中,我们可以自定义一个名为"Rectangle"的类来表示矩形。下面是逐步实现的过程:
```python
class Rectangle:
def __init__(self, length, width): # a) 定义类并初始化构造函数
self.length = length # b) 设置实例变量length
self.width = width # b) 同时设置实例变量width
def getArea(self): # c) 定义成员函数getArea来计算面积
return self.length * self.width
def getCircumference(self): # d) 定义成员函数getCircumference来计算周长
return 2 * (self.length + self.width)
# 示例:
my_rectangle = Rectangle(5, 7)
area = my_rectangle.getArea() # 调用getArea方法,计算面积
perimeter = my_rectangle.getCircumference() # 调用getCircumference方法,计算周长
```
在这个类中,`__init__`函数用于初始化矩形的长度和宽度,`getArea`函数返回矩形的面积,而`getCircumference`函数返回其周长。
相关问题
定义一个矩形类rectangle,无参构造函数设置length和width为0,有参构造函数设置对应length和width的形参值计算矩形周长,面积,输出矩形尺寸
class Rectangle:
def __init__(self, length=0, width=0):
self.length = length
self.width = width
def perimeter(self):
return 2 * (self.length + self.width)
def area(self):
return self.length * self.width
def display(self):
print(f"矩形尺寸为:{self.length} × {self.width}")
# 示例
r1 = Rectangle()
print("矩形1:")
r1.display()
print(f"周长:{r1.perimeter()},面积:{r1.area()}")
r2 = Rectangle(3, 4)
print("矩形2:")
r2.display()
print(f"周长:{r2.perimeter()},面积:{r2.area()}")
定义一个rectangle类,编写构造函数和析构函数,定义一个circle类,编写构造函数和析构函数,定义二者的一个友元函数getTotalArea(),计算二者的面积和
首先,让我们定义一个Rectangle类,它包含长和宽属性以及相应的构造函数和析构函数:
```cpp
class Rectangle {
private:
double length;
double width;
public:
// 构造函数
Rectangle(double l, double w) : length(l), width(w) {}
// 计算矩形面积的成员函数
double getArea() const { return length * width; }
// 析构函数,无特别操作,这里默认不显示
~Rectangle() {}
// 友元函数,用于获取总面积
friend double getTotalArea(Rectangle rect, Circle circle);
};
```
接下来,我们定义Circle类,同样包含半径属性以及构造函数和析构函数:
```cpp
class Circle {
private:
double radius;
public:
Circle(double r) : radius(r) {}
// 计算圆面积的成员函数
double getArea() const { return M_PI * radius * radius; }
// 析构函数,同上,默认不显示
~Circle() {}
// 友元函数,用于获取总面积
friend double getTotalArea(Rectangle rect, Circle circle);
};
```
最后,友元函数`getTotalArea()`负责计算两者面积之和:
```cpp
// 友元函数,计算矩形和圆的总面积
double getTotalArea(Rectangle rect, Circle circle) {
return rect.getArea() + circle.getArea();
}
```
使用这两个类时,你可以创建实例并调用`getTotalArea`来获取总面积:
```cpp
int main() {
Rectangle rectangle(5, 3);
Circle circle(2.5);
double total_area = getTotalArea(rectangle, circle);
std::cout << "Total area of rectangle and circle: " << total_area << std::endl;
return 0;
}
```
阅读全文