
代码如下:
#include <iostream>
using namespace std;
const double PI = (float)3.14159;
class Shape
{
public:
virtual double Biaomj() = 0;
virtual double Tiji() = 0;
};
//球体
class Sphere:public Shape
{
private:
double radius; //半径
public:
Sphere(double r):radius(r){}
double Biaomj()
{
return 4 * PI * radius * radius;
}
double Tiji()
{
return 4.0/3 * PI * radius * radius * radius;
}
double GetRadius(){return radius;}
};
class Cube : public Shape
{
private:
double length;
public:
Cube(double l):length(l){}
double Biaomj()
{
return 6.0 * length * length;
}
double Tiji()
{
return length * length * length;
}
double GetLen(){return length;}
};
int main()
{
Sphere cir(2);
Cube cb(4);
cout << "半径为"<< cir.GetRadius() << "的球的表面积为:" << cir.Biaomj() << ",体积为: " << cir.Tiji() <<endl;
cout << "长为" << cb.GetLen() << "的立方体的表面积为:" << cb.Biaomj() << ",体积为:" << cb.Tiji() << endl;
return 0;
}