summaryrefslogtreecommitdiff
path: root/Tests/UseSWIG/runme.cs
blob: f0c1bd220025475e1b6cfc7babc99784094cd439 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
using System;
using System.Collections.Generic;

public class runme
{
    static void Main()
    {
        // ----- Object creation -----

        Console.WriteLine("Creating some objects:");
        Circle c = new Circle(10);
        Console.WriteLine("    Created " + c);
        Square s = new Square(10);
        Console.WriteLine("    Created " + s);

        // ----- Access a static member -----

        Console.WriteLine("\nA total of " + 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;

        Console.WriteLine("\nHere is their current position:");
        Console.WriteLine("    Circle = ({0}, {1})", c.x,c.y);
        Console.WriteLine("    Square = ({0}, {1})", s.x,s.y);

        // ----- Call some methods -----

        Console.WriteLine("\nHere are some properties of the shapes:");
        List <Shape> shapeList = new List <Shape> { c,s };
        foreach(var o in shapeList){
              Console.WriteLine("   " + o);
              Console.WriteLine("        area      = " + o.area());
              Console.WriteLine("        perimeter = " + o.perimeter());
        }

        Console.WriteLine("\nGuess I'll clean up now");

        // Note: this invokes the virtual destructor
        c.Dispose();
        s.Dispose();

        s = new Square(10);;
        Console.WriteLine(Shape.nshapes + " shapes remain");
        Console.WriteLine("Goodbye");
    }
}