使用虚函数编写程序求球体和圆柱体的体积及表面积。

2025-02-22 16:09:44
推荐回答(1个)
回答1:

#include
#define PI 3.14159

class Circle
{
public:
    float radius;
public:
    Circle(float r)
    {
        radius = r;
    };
    virtual float area() 
    {
        return PI * radius * radius;
    };
    virtual float volume() 
    {
        return 0.0;
    };    
};

class Sphere : public Circle
{
public:
    Sphere(float r)
    {
        radius = r;
    };
    virtual float area() 
    {
        return 4 * PI * radius * radius;
    };
    virtual float volume() 
    {
        return 4 * PI * radius * radius * radius / 3.0;
    };    
};

class Column : public Circle
{
public:
    float height;
public:
    Column(float r,float h)
    {
        radius = r;
        height = h;
    };
    virtual float area() 
    {
        return 2 * PI * radius * ( radius + height );
    };
    virtual float volume() 
    {
        return PI * radius * radius * height;
    };    
};

int main()
{
    Sphere s(20.0);
    Column c(10.0,30.0);
    cout << "s.area = "<    cout << "s.volume= "<    cout << "c.area = "<    cout << "c.volume= "<
    return 0;
}