| # file: runme.py | |
| # This file illustrates the shadow-class C++ interface generated | |
| # by SWIG. | |
| from __future__ import print_function | |
| import new_example | |
| # ----- Object creation ----- | |
| print ("Creating some objects:") | |
| c = new_example.Circle(10) | |
| print (" Created circle", c) | |
| s = new_example.Square(10) | |
| print (" Created square", s) | |
| # ----- Access a static member ----- | |
| print ("\nA total of", new_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 (new_example.cvar.Shape_nshapes,"shapes remain") | |
| print ("Goodbye") |