问题及代码:
/*。
*Copyright(c)2014,烟台大学计算机学院
*All right reserved,
*文件名:test.cpp
*作者:liu_feng_zi_
*完成日期:2015年6月25日
*版本号:v1.0
*问题描述:继承,圆到圆柱
*输入描述:
*程序输出:
*/
#include <iostream>
#include <iomanip>
using namespace std;
#define PI 3.14
class Circle
{
public:
Circle(double r):radius(r) { }
double area()
{
return PI*radius*radius; //圆面积
}
protected:
double radius; //圆半径
};
class Cylinder:public Circle
{
private:
double heigh;
public:
Cylinder(double r,double h):Circle(r),heigh(h) {}
double area()
{
return (radius*radius*PI*2+2*PI*radius*heigh);
}
double volume()
{
return(radius*radius*PI*heigh);
}
};
int main()
{
double r,h;
cout<<setiosflags(ios::fixed);
cout<<setprecision(2);
cin>>r;
Circle c(r);
cout<<c.area()<<endl;
cin>>r>>h;
Cylinder cy(r,h);
cout<<cy.area()<<" "<<cy.volume()<<endl;
return 0;
}
运行结果: