设计一个计算图形的类库
第一层是一个抽象类,并且提供三个纯虚函数;显示数据成员、返回面积和返回体积。
第二层由Shape类派生TwoDimShape和ThreeShape,增加了有关的数据成员,但没有陈冠函数的实现。
都三层派生具体的图形类。
TwoDimShape类派生:Circle(圆)、Elipse(椭圆)、Rectangle(矩形)、Triangel(三角形)等类;
ThreeShape类派生:Ball(球)Cylinder(圆柱体)、Rectangularparallelepiped(长方体)等类。
#include<iostream>
#include<string>
#include<math.h>
using namespace std;
const double PI = acos(-1.0);
// Definition of Shape class and related functions goes here
class Shape
{
virtual void showData() = 0;
virtual double reArea() = 0;
virtual double reVolume() = 0;
};
class TwoDimShape :virtual public Shape {
protected:
double x, y;
public:
virtual void showData() {
return ;
}
virtual double reArea() {
return 0;
}
virtual double reVolu