#ifndef _POINT_H_INCLUDED_
#define _POINT_H_INCLUDED_

//point.h
class Point {
public:
    int  m_coord[ 2 ];

    // As soon as a pointer member variable is added to object
    // implementation, we must add a copy constructor to our class!
    int* m_ptr;

    // default constructor
    Point()
    {
        m_coord[ 0 ] = -1;
        m_coord[ 1 ] = -1;
        m_ptr = m_coord;
    }

    // copy constructor
    Point( Point const& other )
    {
        m_coord[ 0 ] = other.m_coord[ 0 ];
        m_coord[ 1 ] = other.m_coord[ 1 ];
        m_ptr = m_coord;
    }

    // A function that uses 
    void reset() {
        m_ptr[ 0 ] = 0;
        m_ptr[ 1 ] = 0;
        m_ptr = 0;
    }
};//class Point

void draw_segment( Point from, Point to );

#endif // _POINT_H_INCLUDED_