summaryrefslogtreecommitdiff
path: root/Examples/octave/class/runme.m
diff options
context:
space:
mode:
Diffstat (limited to 'Examples/octave/class/runme.m')
-rw-r--r--Examples/octave/class/runme.m52
1 files changed, 52 insertions, 0 deletions
diff --git a/Examples/octave/class/runme.m b/Examples/octave/class/runme.m
new file mode 100644
index 0000000..c833a70
--- /dev/null
+++ b/Examples/octave/class/runme.m
@@ -0,0 +1,52 @@
+# file: runme.m
+
+# This file illustrates the proxy class C++ interface generated
+# by SWIG.
+
+example
+
+# ----- Object creation -----
+
+printf("Creating some objects:\n");
+c = example.Circle(10)
+s = example.Square(10)
+
+# ----- Access a static member -----
+
+printf("\nA total of %i shapes were created\n", example.Shape.nshapes);
+
+# ----- Member data access -----
+
+# Set the location of the object
+
+c.x = 20
+c.y = 30
+
+s.x = -10
+s.y = 5
+
+printf("\nHere is their current position:\n");
+printf(" Circle = (%f, %f)\n",c.x,c.y);
+printf(" Square = (%f, %f)\n",s.x,s.y);
+
+# ----- Call some methods -----
+
+printf("\nHere are some properties of the shapes:\n");
+function print_shape(o)
+ o
+ printf(" area = %f\n", o.area());
+ printf(" perimeter = %f\n", o.perimeter());
+end;
+print_shape(c);
+print_shape(s);
+
+printf("\nGuess I'll clean up now\n");
+
+# Note: this invokes the virtual destructor
+clear c
+clear s
+
+printf("%i shapes remain\n", example.Shape.nshapes);
+printf("Goodbye\n");
+
+