6
# define M_PI 3.14159265358979323846
9
int Shape::get_nshapes() {
13
/* Move the shape to a new location */
14
void Shape::move(double dx, double dy) {
19
int Shape::nshapes = 0;
21
void Circle::set_radius( double r ) {
25
double Circle::area(void) {
26
return M_PI*radius*radius;
29
double Circle::perimeter(void) {
33
double Square::area(void) {
37
double Square::perimeter(void) {
41
ShapeContainer::~ShapeContainer() {
42
iterator i=shapes.begin();
43
for( iterator i = shapes.begin(); i != shapes.end(); ++i ) {
49
ShapeContainer::addShape( Shape *s ) {
50
shapes.push_back( s );