#include<iostream>
#include<Cmath>
using namespace std;
class Point{
public:
Point(double x=0,double y=0):x(x),y(y){}
double distance(Point a);
private:
double x,y;
};
double Point::distance(Point a){
return sqrt((x-a.x)*(x-a.x)+(y-a.y)*(y-a.y));
}
class Circle:public Point{
public:
Circle(double x,double y,double r=0):Point(x,y),r(r){}
double area();
inline double getr(){
return r;
}
private:
double r;
};
double Circle::area(){
return 3.1415926*r*r;
}
class Cylinder:public Circle{
public:
Cylinder(double x,double y,double r,double h):Circle(x,y,r),h(h){};
double volume();
double Carea();
private:
double h;
};
double Cylinder::volume(){
return area()*h;
}
double Cylinder::Carea(){
return (area()+2*3.1415926*getr()*h);
}
int main(){
Cylinder a(1.2,3,4.3,5.6);
cout<<"a的体积";
cout<<a.volume()<<endl;
cout<<"a的面积";
cout<<a.Carea()<<endl;
return 0;
}
运行结果: