diff --git a/Examples/python/class/example.i b/Examples/python/class/example.i index aa28dde80..75700b305 100644 --- a/Examples/python/class/example.i +++ b/Examples/python/class/example.i @@ -1,4 +1,10 @@ /* File : example.i */ %module example -int printf(const char *fmt, ...); +%{ +#include "example.h" +%} + +/* Let's just grab the original header file here */ +%include "example.h" + diff --git a/Examples/python/class/runme.py b/Examples/python/class/runme.py index 54543be67..f1272ae81 100644 --- a/Examples/python/class/runme.py +++ b/Examples/python/class/runme.py @@ -1,10 +1,51 @@ +# file: runme.py -from example import * +# This file illustrates the proxy class C++ interface generated +# by SWIG. -printf("hello\n") +import example + +# ----- Object creation ----- + +print "Creating some objects:" +c = example.Circle(10) +print " Created circle", c +s = example.Square(10) +print " Created square", s + +# ----- Access a static member ----- + +print "\nA total of", example.cvar.Shape_nshapes,"shapes were created" + +# ----- Member data access ----- + +# Set the location of the object + +c.x = 20 +c.y = 30 + +s.x = -10 +s.y = 5 + +print "\nHere is their current position:" +print " Circle = (%f, %f)" % (c.x,c.y) +print " Square = (%f, %f)" % (s.x,s.y) + +# ----- Call some methods ----- + +print "\nHere are some properties of the shapes:" +for o in [c,s]: + print " ", o + print " area = ", o.area() + print " perimeter = ", o.perimeter() + +print "\nGuess I'll clean up now" + +# Note: this invokes the virtual destructor +del c +del s + +s = 3 +print example.cvar.Shape_nshapes,"shapes remain" +print "Goodbye" -name = "%shoot" -num = 22 -printf("Hello %s. Your number is %d\n" % (name, num)) -print("hello there %s." % name); -printf("Your result is 90%.\n")