#ifndef __CPOINT_H
#define __CPOINT_H

#include "graphic.h"
#include "list/list.h"


//class Position;

class CPosition : public Position
{
  public:
    CPosition( void );
    CPosition( int x0, int y0 );
    CPosition( CPosition& cp );
    virtual inline int  getCount( void )    { return count; };
    virtual inline void setCount( int c )   { count=c; }

    // alle operatoren anders als bei Position!
    virtual inline CPosition  operator=  ( int i );
    virtual inline CPosition  operator=  ( CPosition cp );
    //virtual inline Bool       operator== ( CPosition& cp );
    virtual inline CPosition& operator++ ( void );
    virtual inline CPosition& operator-- ( void );
    virtual inline CPosition& operator+  ( int i );
    virtual inline CPosition& operator+  ( CPosition& cp );
    virtual inline CPosition& operator-  ( int i );
    virtual inline CPosition& operator-  ( CPosition& cp );
  protected:
    int count;
};


class CPList : public ZeigerListe<CPosition>
{
  public:
    CPList(void) : ZeigerListe<CPosition>() {};
    virtual CPosition* append( CPosition* );
    int istEuler(void);
//    int istZusammenhaengend( void );
};

#endif // __CPOINT_H
