- 并由Circle类派生出Cylinder类,该类含有计算圆柱体的表面积和体积的成员函数。
#include<iostream>
using namespace std;
const double pi = 3.14159;
class Point
{
protected:
double r, s1;
public:
Point()
{
r = 0, s1 = 0;
}
Point(double x):r(x){}
double area();
};
double Point::area()
{
s1 = pi * r * r;
return s1;
}
class Circle :public Point
{
protected:
double h,s2,v;
public:
Circle();
Circle(double r,double a):Point(r),h(a){}
double surface();
double bulk();
};
Circle::Circle()
{
h = 0, s2 = 0, v = 0;
}
double Circle::surface()
{
if (h == 0)
s2 = area();
else
s2 = 2 * pi * r * h + 2 * area();
return s2;
}
double Circle::bulk()
{
v = h * area();
return v;
}
class Cylinder :public Circle
{
public:
Cylinder(double x,double y):Circle(x,y){}
};
void main()
{
double r, h;
cout << "请输入圆柱的半径和高:";
cin >> r >> h;
Cylinder a(r, h);
cout << "圆柱的底面积:" << a.area() << endl;
cout << "圆柱的表面积:" << a.surface() << endl;
cout << "圆柱的体积:" << a.bulk() << endl;
}