C++高手进进帮忙做个题目阿,急啊

来源:百度知道 编辑:UC知道 时间:2024/06/01 01:12:59
用抽象类实现计算出球、圆柱和圆锥的表面积和体积
功能要求:
(1) 定义一个抽象类实现表面积和体积的显示;
(2) 由抽象类派生出球、圆柱和圆锥类

#include <iostream>
using namespace std;

class Circle
{
public:
Circle(){}
Circle(double ra):r(ra){}
virtual double area() const
{
return 3.14*r*r;
}
virtual double vol() const
{
return 0.0;
}
protected:
double r;
};

class Ball : public Circle
{
public:
Ball(){}
Ball(double ra):Circle(ra){}
virtual double area() const
{
return 3.14*r*r*4;
}
virtual double vol() const
{
return 3.14*r*r*r*4/3;
}
};

class Column : public Circle
{
public:
Column(){}
Column(double ra,double h):Circle(ra),height(h){}
virtual double area() const
{
return Circle::area()*2+2*3.14*r*height;
}
virtual double vol() const
{
return Circle::area()*height;
}
private:
double height;
};

class Taper : public Circ