// This example illustrates how C++ classes can be used from C# using SWIG. // The C# class gets mapped onto the C++ class and behaves as if it is a C# class. using System; public class runme { static void Main() { // ----- Object creation ----- Console.WriteLine( "Creating some objects:" ); using (Square s = new Square(10)) using (Circle c = new Circle(10)) { Console.WriteLine( " Created circle " + c ); Console.WriteLine( " Created square " + s ); // ----- Access a static member ----- Console.WriteLine( "\nA total of " + Shape.nshapes + " shapes were created" ); // ----- Member data access ----- // Notice how we can do this using functions specific to // the 'Circle' class. c.x = 20; c.y = 30; // Now use the same functions in the base class Shape shape = s; shape.x = -10; shape.y = 5; Console.WriteLine( "\nHere is their current position:" ); Console.WriteLine( " Circle = (" + c.x + " " + c.y + ")" ); Console.WriteLine( " Square = (" + s.x + " " + s.y + ")" ); // ----- Call some methods ----- Console.WriteLine( "\nHere are some properties of the shapes:" ); Shape[] shapes = {c,s}; // for (int i=0; i