home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / tcpp / examples / figures.h < prev    next >
C/C++ Source or Header  |  1990-06-09  |  1KB  |  67 lines

  1. /* figures.h beschreibt drei Klassen:
  2.  
  3.   - Die Klasse Location bescheibt Orte auf
  4.     dem Bildschirm mit X-Y-Koordinaten.
  5.  
  6.   - Die Klasse Point beschreibt, ob ein Punkt
  7.     sichtbar ist oder nicht.
  8.  
  9.   - Die Klasse Circle beschreibt den Radius
  10.     eines Kreises.
  11.  
  12.   Nehmen Sie #include <figures.h> in Ihr
  13.   Hauptprogramm auf, wenn Sie dieses Modul
  14.   verwenden wollen, und compilieren Sie
  15.   FIGURES.CPP zusammen mit Ihrem Programm.
  16. */
  17.  
  18. enum Boolean {false, true};
  19.  
  20. class Location {
  21. protected:
  22.    int X;
  23.    int Y;
  24. public:
  25.    Location(int InitX, int InitY)
  26.    { X = InitX;
  27.      Y = InitY;
  28.    }
  29.    int GetX() {return X;}
  30.    int GetY() {return Y;}
  31. };
  32.  
  33. class Point : public Location
  34. {
  35. protected:
  36.    Boolean Visible;
  37. public:
  38.    Point(int InitX, int InitY);
  39.  
  40.    // Show und Hide sind virtuell
  41.    virtual void Show();       
  42.    virtual void Hide();
  43.  
  44.    // neue virtuelle Funktion Drag
  45.    virtual void Drag(int DragBy); 
  46.    Boolean IsVisible() {return Visible;}
  47.    void MoveTo(int NewX, int NewY);
  48. };
  49.  
  50. class Circle : public Point
  51. {  // abgeleitet von der Klasse Point und
  52.    //  der Klasse Location
  53. protected:
  54.    int Radius;
  55. public:
  56.    Circle(int InitX, int InitY, int InitRadius);
  57.    void Show();
  58.    void Hide();
  59.    void Expand(int ExpandBy);
  60.    void Contract(int ContractBy);
  61. };
  62.  
  63. // Prototyp einer allgemeinen Nicht-Elementfunktion
  64. // definiert in FIGURES.CPP
  65.  
  66. Boolean GetDelta(int& DeltaX, int& DeltaY);
  67.