请用c++设计一个基类,从基类派生圆柱,设计成员函数输出它们的面积和体积
时间: 2023-12-25 11:03:12 浏览: 146
以下是一个基于C++的设计:
```
#include <iostream>
using namespace std;
class Shape {
public:
virtual float getArea() = 0;
virtual float getVolume() = 0;
};
class Cylinder : public Shape {
public:
Cylinder(float r = 0, float h = 0) {
radius = r;
height = h;
}
float getArea() {
return 2 * 3.14159 * radius * (radius + height);
}
float getVolume() {
return 3.14159 * radius * radius * height;
}
private:
float radius;
float height;
};
int main() {
float r, h;
cout << "Enter the radius of cylinder: ";
cin >> r;
cout << "Enter the height of cylinder: ";
cin >> h;
Cylinder cy(r, h);
cout << "Area of Cylinder: " << cy.getArea() << endl;
cout << "Volume of Cylinder: " << cy.getVolume() << endl;
return 0;
}
```
在这里,我们定义了一个 `Shape` 基类,它有两个纯虚函数 `getArea()` 和 `getVolume()`,这些函数将在派生类中实现。
然后我们在 `Cylinder` 派生类中定义这两个函数,这两个函数将计算圆柱的面积和体积。
在 `main()` 函数中,我们首先输入圆柱的半径和高度,然后创建一个 `Cylinder` 对象,并使用 `getArea()` 和 `getVolume()` 函数计算面积和体积,最后输出结果。
阅读全文