用C++语言,写出这样的程序:定义一个圆柱类,用友元函数求它的面积和体积
时间: 2024-02-03 08:15:52 浏览: 78
以下是用C++语言实现的圆柱类,其中包括了友元函数来计算圆柱的面积和体积:
```c++
#include<iostream>
using namespace std;
const double PI = 3.1415926535;
class Cylinder {
private:
double r; // 圆柱底面半径
double h; // 圆柱高度
public:
Cylinder(double radius, double height) {
r = radius;
h = height;
}
friend double getArea(Cylinder c); // 友元函数,计算圆柱的表面积
friend double getVolume(Cylinder c); // 友元函数,计算圆柱的体积
};
double getArea(Cylinder c) {
double area = 2 * PI * c.r * c.h + 2 * PI * c.r * c.r;
return area;
}
double getVolume(Cylinder c) {
double volume = PI * c.r * c.r * c.h;
return volume;
}
int main() {
Cylinder c(2, 5);
cout << "Cylinder surface area: " << getArea(c) << endl;
cout << "Cylinder volume: " << getVolume(c) << endl;
return 0;
}
```
在这个程序中,我们定义了一个圆柱类 Cylinder,它包含了圆柱的底面半径 r 和高度 h。然后,我们使用友元函数来计算圆柱的表面积和体积,这两个函数都传入一个 Cylinder 类型的参数 c,然后使用圆柱的底面半径和高度来计算表面积和体积。在 main 函数中,我们创建了一个圆柱对象 c,并使用 getArea 和 getVolume 函数来计算它的表面积和体积,并输出结果。
阅读全文