练习 定义一个类,名为Circle,表示一个圆,要求:(1)有数据成员半径r; (2)默认构造函数Circle()(半径为1) (3)设置半径函数setR(double)(必须类外定义)(4)成员函数area0(求圆的面积); (5)在main()函数中用构造函数分别定义类的对象、类的指针和类的引用,分别调用上述函数输出圆的面积。
时间: 2023-05-28 09:07:15 浏览: 92
#include <iostream>
using namespace std;
class Circle {
private:
double r;
public:
Circle() {
r = 1;
}
void setR(double radius) {
r = radius;
}
double area() {
return 3.14159 * r * r;
}
};
int main() {
Circle c1;
Circle* c2 = new Circle();
Circle& c3 = c1;
cout << "c1的面积为:" << c1.area() << endl;
cout << "c2的面积为:" << c2->area() << endl; // 用指针调用成员函数要用箭头符号->
cout << "c3的面积为:" << c3.area() << endl;
c1.setR(2);
cout << "c1的面积为:" << c1.area() << endl;
cout << "c2的面积为:" << c2->area() << endl;
cout << "c3的面积为:" << c3.area() << endl;
delete c2; // 释放内存
return 0;
}
相关问题
定义一个名为Cylinder类表示圆柱,他继承Circle类(参考编程练习4.2),要求定义一个变量height表示圆柱高度。
好的,以下是符合您要求的 Python 代码实现:
```python
class Circle:
def __init__(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
class Cylinder(Circle):
def __init__(self, radius, height):
super().__init__(radius)
self.height = height
def volume(self):
return self.area() * self.height
```
在这里,我们定义了一个名为 `Cylinder` 的类,该类继承自 `Circle` 类。`Cylinder` 类除了继承了 `Circle` 类的属性和方法外,还添加了一个名为 `height` 的属性,用于表示圆柱的高度。
其中,`__init__` 函数是 Python 中的构造函数,用于初始化对象的属性。在 `Cylinder` 类的 `__init__` 函数中,首先调用了 `super()` 函数,这个函数用于调用父类的构造函数,从而继承父类的属性。接着,我们再添加了 `height` 属性,用于表示圆柱的高度。
此外,`Cylinder` 类还添加了一个 `volume` 方法,用于计算圆柱的体积。该方法首先调用了继承自 `Circle` 类的 `area` 方法,计算底面圆的面积,然后将底面圆的面积乘以圆柱的高度,从而得到圆柱的体积。
希望这个代码能够解决您的问题!
定义一个类表示圆(circle),成员变量r表示圆的半径,成员方法printarea( )用于输出圆的面积。
这段代码定义了一个类表达圆(circle),成员变量r表示圆的半径,成员函数printarea()用于输出圆的面积。成员变量r的初始值为0,默认构造函数会被调用,成员函数printarea()使用了圆的面积公式πr²进行计算,并使用Python的print函数输出面积。
相关推荐
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.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)