summaryrefslogtreecommitdiff
path: root/Examples/php/overloading/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/overloading/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/overloading/example.cxx')
-rw-r--r--Examples/php/overloading/example.cxx55
1 files changed, 55 insertions, 0 deletions
diff --git a/Examples/php/overloading/example.cxx b/Examples/php/overloading/example.cxx
new file mode 100644
index 0000000..2f684f0
--- /dev/null
+++ b/Examples/php/overloading/example.cxx
@@ -0,0 +1,55 @@
+/* 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;
+
+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;
+}
+
+const char *overloaded(int i) {
+ return "Overloaded with int";
+}
+
+const char *overloaded(double d) {
+ return "Overloaded with double";
+}
+
+const char *overloaded(const char * str) {
+ return "Overloaded with char *";
+}
+
+const char *overloaded( const Circle& ) {
+ return "Overloaded with Circle";
+}
+
+const char *overloaded( const Shape& ) {
+ return "Overloaded with Shape";
+}