    class Point
    {
        private int x;
        private int y;
        //Default constructor
        public Point ()
        {
             //Implicit call to constructor
            Console.WriteLine("Point  Constructor :{0}", this);
        }
        //*******************
        public Point(int xValue, int yValue)
        {
            X = xValue;
            Y = yValue;
            Console.WriteLine("Point  Constructor :{0}", this);
        }
        //*******************
        ~Point()
        {
            Console.WriteLine("Point destructor :{0}", this);
        }
        //*******************
        public int X
        {
            get
            {
                return x;
            }
            set
            {
                x = value;
            }
        }
        //*******************
        public int Y
        {
            get
            {
                return y;
            }
            set
            {
                y = value;
            }
        }
        //*******************
        public override string ToString()
        {
            return "[" + X + ", " + Y + "]";
        }
    }
