编写程序,实现点(Point)-圆(Circle)-圆柱体(Cylinder)继承体系。要求如下: (1 Pin类包含x y坐标;(2)Circl类包括凰心和半径,能计算圆的面积;《3)Cyinder类包括府面圆和隔高,能计算体积;〈4)各类要实现怡当的的造函数;(5)利用主函数进行测试。
时间: 2024-03-03 11:53:30 浏览: 116
好的,我可以为您编写这个程序。以下是代码实现:
```c++
#include <iostream>
#include <cmath>
using namespace std;
class Point {
protected:
double x, y;
public:
Point(double x = 0, double y = 0) : x(x), y(y) {}
double getX() const { return x; }
double getY() const { return y; }
};
class Circle : public Point {
protected:
double r;
public:
Circle(double x = 0, double y = 0, double r = 0) : Point(x, y), r(r) {}
double getR() const { return r; }
double area() const { return M_PI * r * r; }
};
class Cylinder : public Circle {
private:
double h;
public:
Cylinder(double x = 0, double y = 0, double r = 0, double h = 0) : Circle(x, y, r), h(h) {}
double getH() const { return h; }
double volume() const { return area() * h; }
};
int main() {
Circle c(1, 2, 3);
Cylinder cy(4, 5, 6, 7);
cout << "Circle area: " << c.area() << endl;
cout << "Cylinder volume: " << cy.volume() << endl;
return 0;
}
```
在这个程序中,我们定义了三个类:点(Point)、圆(Circle)和圆柱体(Cylinder)。点类包含了 x 和 y 坐标,圆类包括圆心和半径,并且能计算圆的面积,圆柱体类包括底面圆和隔高,并且能计算体积。每个类都有一个构造函数。
在主函数中,我们创建了一个圆和一个圆柱体,并且输出了它们的面积和体积。
阅读全文