#include<iostream>
using namespace std;
class Solid
{
public:
virtual float area() const=0;
virtual float volume() const=0;
};
class Cube:public Solid
{
public:
virtual float area() const
{
return 6*lon*lon;
}
virtual float volume() const
{
return lon*lon*lon;
}
Cube(double l):lon(l){}
protected:
double lon;
};
class Ball:public Solid
{
public:
virtual float area() const
{
return 4*3.14*r*r;
}
virtual float volume() const
{
return (4/3)*3.14*r*r*r;
}
Ball(double r1):r(r1){}
protected:
double r;
};
class Cylinder:public Solid
{
public:
virtual float area() const
{
return 2*3.14*R*R+2*3.14*R*H;
}
virtual float volume() const
{
return 3.14*R*R*R;
}
Cylinder(double r,double h):R(r),H(h){}
protected:
double R,H;
};
int main()
{
Cube C1(4);
Ball B1(3);
Cylinder Cy1(1,5);
Solid *p;
p=&C1;
cout<<"c1面积:"<<p->area()<<' '<<"c1体积:"<<p->volume()<<endl;
p=&B1;
cout<<"B1面积:"<<p->area()<<' '<<"B1体积:"<<p->volume()<<endl;
p=&Cy1;
cout<<"Cy1面积:"<<p->area()<<' '<<"Cy1体积:"<<p->volume()<<endl;
return 0;
}
感悟:自己做出来的就是爽啊。
一定要理解课本上的概念,不要死记,灵活运用