import source from 1.3.40
[external/swig.git] / Examples / python / smartptr / example.cxx
1 /* File : example.c */
2
3 #include "example.h"
4 #include <math.h>
5 #ifndef M_PI
6 #  define M_PI 3.14159265358979323846
7 #endif
8
9 /* Move the shape to a new location */
10 void Shape::move(double dx, double dy) {
11   x += dx;
12   y += dy;
13 }
14
15 int Shape::nshapes = 0;
16
17 double Circle::area() {
18   return M_PI*radius*radius;
19 }
20
21 double Circle::perimeter() {
22   return 2*M_PI*radius;
23 }
24
25 double Square::area() {
26   return width*width;
27 }
28
29 double Square::perimeter() {
30   return 4*width;
31 }