用c++定义Point作为基类,在此基础上派生出Circle类,该类含有计算面积的成员函数,

  • 并由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;
}

版权声明:本文为qq_45390365原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。