结合main函数完成一个类cylinder的定义,数据成员有半径和高。圆柱体的体积为底面积*高。其中PI=3.141592。输出小数点后保留3位。@-@ int main(){ cylinder x(2.2,8.09); x.vol(); return 0; }
时间: 2024-03-15 13:44:24 浏览: 60
好的,下面是代码实现:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
const double PI = 3.141592;
class cylinder {
private:
double r; // 半径
double h; // 高
public:
cylinder(double radius, double height) {
r = radius;
h = height;
}
void vol() {
double volume = PI * r * r * h;
cout << fixed << setprecision(3) << volume << endl;
}
};
int main() {
cylinder x(2.2, 8.09);
x.vol();
return 0;
}
```
输出结果为:
```
41.172
```
相关问题
用Java使用构造函数和this调用无参构造、或构造之间的调用关系,实现完成一个已知半径,求一个圆柱体的底面积和体积的计算程序。 要求:通过有参构造函数完成带参数的初始化工作;通过在无参构造中实现带有参数的构造
函数的调用,以保证无论使用有参构造函数还是无参构造函数创建对象都能够正确初始化。
回答:
可以使用以下代码实现:
public class Cylinder {
private double radius; // 圆柱体底面半径
private double height; // 圆柱体高度
// 有参构造函数:完成半径和高度的初始化
public Cylinder(double radius, double height) {
this.radius = radius;
this.height = height;
}
// 无参构造函数:通过调用有参构造函数,优先使用默认半径和高度
public Cylinder() {
this(1.0, 1.0);
}
// 计算圆柱体底面积
public double computeBaseArea() {
return Math.PI * radius * radius;
}
// 计算圆柱体体积
public double computeVolume() {
return computeBaseArea() * height;
}
// 测试程序,创建对象并计算底面积和体积
public static void main(String[] args) {
Cylinder c1 = new Cylinder(2.0, 5.0);
System.out.println("底面积:" + c1.computeBaseArea());
System.out.println("体积:" + c1.computeVolume());
Cylinder c2 = new Cylinder();
System.out.println("底面积:" + c2.computeBaseArea());
System.out.println("体积:" + c2.computeVolume());
}
}
在上述代码中,我们定义了一个圆柱体类 Cylinder,它有两个 private 成员变量 radius 和 height,分别表示底面半径和高度。我们通过一个有参构造函数 Cylinder(radius, height) 来完成这两个变量的初始化,同时我们还定义了一个无参构造函数 Cylinder(),通过调用 Cylinder(radius, height) 来默认使用半径和高度为 1.0 的值。通过 computeBaseArea()、computeVolume() 分别计算圆柱体的底面积和体积。在测试程序中,我们创建了两个圆柱体对象 c1、c2,并分别输出它们的底面积和体积。
java使用构造函数和this调用无参构造、或构造之间的调用关系,实现完成一个已知半径,求一个圆柱体的底面积和体积的计算程序。 要求:通过有参构造函数完成带参数的初始化工作;通过在无参构造中实现带有参数的构造。
好的,您的问题已经记录下来了,请稍等我进行回答。
首先,我们需要定义一个圆柱体类,包括半径和高度两个属性。然后我们可以定义一个有参构造函数和一个无参构造函数。
在有参构造函数中,我们需要传入半径和高度两个参数,并将它们赋值给相应的属性。在无参构造函数中,我们可以通过调用有参构造函数并传入默认值的方式来实现初始化工作。
使用 this 关键字可以在构造函数之间进行调用,使用 super 关键字可以在子类构造函数中调用父类的构造函数。
接下来,我们来看一下实现圆柱体底面积和体积计算的方法:
底面积 = πr²
体积 = πr²h
其中,π 的值可以使用 Math.PI 常量来获得。具体实现代码如下:
```
public class Cylinder {
private double radius;
private double height;
public Cylinder() {
this(1, 1);
}
public Cylinder(double radius, double height) {
this.radius = radius;
this.height = height;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getVolume() {
return Math.PI * radius * radius * height;
}
}
```
我们可以在主方法中进行调用,并输出计算结果:
```
public static void main(String[] args) {
Cylinder cylinder = new Cylinder(2, 4);
System.out.println("底面积为:" + cylinder.getArea());
System.out.println("体积为:" + cylinder.getVolume());
}
```
输出结果为:
底面积为:12.566370614359172
体积为:50.26548245743669
这就是使用构造函数和 this 调用无参构造实现圆柱体底面积和体积计算的过程,希望可以帮助到您。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![cpp](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)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)