summaryrefslogtreecommitdiff
path: root/Examples/php/disown/example.cxx
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2009-08-18 20:56:02 +0000
committerLorry <lorry@roadtrain.codethink.co.uk>2012-09-25 16:59:08 +0000
commit9f8a09ed743cedd9547bf0661d518647966ab114 (patch)
tree9c7803d3b27a8ec22e91792ac7f7932efa128b20 /Examples/php/disown/example.cxx
downloadswig-tarball-master.tar.gz
Imported from /srv/lorry/lorry-area/swig-tarball/swig-1.3.40.tar.gz.HEADswig-1.3.40master
Diffstat (limited to 'Examples/php/disown/example.cxx')
-rw-r--r--Examples/php/disown/example.cxx51
1 files changed, 51 insertions, 0 deletions
diff --git a/Examples/php/disown/example.cxx b/Examples/php/disown/example.cxx
new file mode 100644
index 0000000..6393735
--- /dev/null
+++ b/Examples/php/disown/example.cxx
@@ -0,0 +1,51 @@
+/* File : example.c */
+
+#include "example.h"
+#include <math.h>
+#ifndef M_PI
+# define M_PI 3.14159265358979323846
+#endif
+
+int Shape::get_nshapes() {
+ return nshapes;
+}
+
+/* Move the shape to a new location */
+void Shape::move(double dx, double dy) {
+ x += dx;
+ y += dy;
+}
+
+int Shape::nshapes = 0;
+
+void Circle::set_radius( double r ) {
+ radius = r;
+}
+
+double Circle::area(void) {
+ return M_PI*radius*radius;
+}
+
+double Circle::perimeter(void) {
+ return 2*M_PI*radius;
+}
+
+double Square::area(void) {
+ return width*width;
+}
+
+double Square::perimeter(void) {
+ return 4*width;
+}
+
+ShapeContainer::~ShapeContainer() {
+ iterator i=shapes.begin();
+ for( iterator i = shapes.begin(); i != shapes.end(); ++i ) {
+ delete *i;
+ }
+}
+
+void
+ShapeContainer::addShape( Shape *s ) {
+ shapes.push_back( s );
+}