实现 圆柱类(2.0)(包含友元函数的封闭类) 成员: 包含 圆类 高度 体积公式 其中: 圆类 成员:半径(私有)面积公式 圆柱类需要有 类型转换构造函数和复制构造函数 同时 圆类 和 圆柱类2.0 都需要自定义的析构函数
时间: 2023-05-22 11:01:09 浏览: 100
以下是圆柱类(2.0)的完整代码,包含友元函数和封闭类:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Circle {
private:
double radius;
public:
Circle(double r) : radius(r) {}
double getArea() {
return M_PI * pow(radius, 2);
}
};
class Cylinder {
private:
Circle base;
double height;
public:
Cylinder(double r, double h) : base(r), height(h) {}
double getVolume() {
return base.getArea() * height;
}
operator Circle() {
return base;
}
Cylinder(const Cylinder& c) : base(c.base), height(c.height) {}
~Cylinder() {
cout << "Cylinder destroyed" << endl;
}
friend void printVolume(Cylinder c);
};
void printVolume(Cylinder c) {
cout << "Volume of cylinder is " << c.getVolume() << endl;
}
int main() {
Cylinder c(2.0, 3.0);
Circle circle = c;
cout << "Area of circle is " << circle.getArea() << endl;
printVolume(c);
return 0;
}
```
关于中文加密,我不太清楚你具体指的是什么,可以再提供一些信息吗?
阅读全文