是算球体,正方体,立方体,圆柱体的体积,不知道最后输入的地方哪错了...
#include <iostream.h>
class Shape
{
public:
virtual double Volume() const=0;
};
class Cuboid:public Shape
{
public:
Cuboid(double l,double w,double h){L=l;W=w;H=h;}
double Volume() const {return L*W*H;}
private:
double L,W,H;
};
class Cube:public Shape
{
public:
Cube(double side){S=side;}
double Volume() const {return S*S*S;}
private:
double S;
};
class Circularcylinder:public Shape
{
public:
Circularcylinder(double r,double h){R=r;H=h;}
double Volume() const {return 3.1415*R*R*H;}
private:
double R,H;
};
class Spheroid:public Shape
{
public:
Spheroid(double r){R=r;}
double Volume() const {return 3.1415*R*R*R*4/3;}
private:
double R;
};
class Application
{
public:
double jisuan(double a,double b,double c,double d,double r,double s,double t);
double add();
private:
Shape **s;
};
double jisuan(double a,double b,double c,double d,double r,double s,double t)
{
s[0]= Cuboid(a,b,c);
s[1]= Cube(d);
s[2]= Spheroid(r);
s[3]= Circular(s,t);
}
double add()
{
int sum=0;
for(int i=0;i<4;i++)
sum=s[i]+sum;
return sum;
}
void main()
{
Application A;
double a,b,c,d,r,s,t;
cin>>a>>b>>c>>d>>r>>s>>t;
A.jisuan(a,b,c,d,r,s,t);
cout<<A.add;
}