#include <iostream>
using namespace std;
const double PI=3.141593;
class Container
{
public:
Container();
Container(double r,double h)
{
radius=r;
high=h;
}
virtual double volume()=0;
private:
double radius;
double high;
};
class Sphere:public Container
{
public:
Sphere(double r){ radius=r; }
double volume()
{
return PI*radius*radius*radius*4/3;
}
private:
double radius;
};
class Cone:public Container
{
public:
Cone(double r,double h){ radius=r;
high=h; }
double volume()
{
return PI*radius*radius*high/3;
}
private:
double radius;
double high;
};
class Cylider:public Container
{
public:
Cylider(double r,double h){ radius=r;
high=h;}
double volume()
{
return PI*radius*radius*high;
}
private:
double radius;
double high;
};
int main()
{
float volumesum(Container *Ct[],int n);
Cylider c1(1.0,2.0);
Cone co(1.0,2.0);
Sphere sh(1.0);
Container *Ct[3];
Ct[0]=&c1;
Ct[1]=&co;
Ct[2]=&sh;
cout<<"体积总和:"<<volumesum(Ct,3)<<endl;
return 1;
}
float volumesum(Container *Ct[],int n)
{
double z=0.0;
for(n=0;n<3;n++)
z+=*Ct[n]->volume();
return z;
}
您说得对 可修改过后还是有错误
追答啥错?
追问那个运行结果出不来