7 #define M_PI 3.14159265358979323846
9 // Static member initializer
10 int Shape::nshapes = 0;
17 // Move the shape to a new location
18 void Shape::move(double dx, double dy) {
29 double Circle::area() const {
30 return M_PI*radius*radius;
34 double Circle::perimeter() const {
39 double Square::area() const {
44 double Square::perimeter() const {