#include <iostream>
using namespace std;
class Point
{
public:
Point(int xx,int yy) :x(xx),y(yy){cout<<"构造点类"<<endl;}
protected:
int x,y;
};
class Circle:public Point
{
public:
Circle(int xx,int yy,int rr):Point(xx,yy),r(rr){cout<<"构造圆类"<<endl;}
void area()
{
cout<<"circle's area is "<<3.14*r*r<<endl;
}
protected:
int r;
};
class Cylinder:public Circle
{
public:
Cylinder(int xx,int yy,int rr,int hh):Circle(xx,yy,rr),h(hh){cout<<"构造圆柱类"<<endl;}
void area()
{
double s;
s=3.14*r*r*2+2*3.14*r*h;
cout<<"cylinder's area is "<<s<<endl;
}
void volume()
{
cout<<"cylinder's volume is "<<3.14*r*r*h<<endl;
}
protected:
int h;
};
int main()
{
Point a(1,2);
Circle b(1,2,3);
b.area();
Cylinder c(1,2,3,4);
c.area();
c.volume();
return 0;
}
运行结果: