summaryrefslogtreecommitdiffstats
path: root/labb8/lib/StanfordCPPLib/point.h
diff options
context:
space:
mode:
Diffstat (limited to 'labb8/lib/StanfordCPPLib/point.h')
-rwxr-xr-xlabb8/lib/StanfordCPPLib/point.h113
1 files changed, 113 insertions, 0 deletions
diff --git a/labb8/lib/StanfordCPPLib/point.h b/labb8/lib/StanfordCPPLib/point.h
new file mode 100755
index 0000000..e138117
--- /dev/null
+++ b/labb8/lib/StanfordCPPLib/point.h
@@ -0,0 +1,113 @@
+/*
+ * File: point.h
+ * -------------
+ * This file exports a class representing an integer-valued <i>x</i>-<i>y</i>
+ * pair.
+ */
+
+#ifndef _point_h
+#define _point_h
+
+#include <string>
+
+/*
+ * Class: Point
+ * ------------
+ * This class represents an <i>x</i>-<i>y</i> coordinate point on a
+ * two-dimensional integer grid. If you need to work with real-valued points,
+ * you should use the <a href="gtypes.html"><code>gtypes.h</code></a>
+ * interface instead.
+ */
+
+class Point {
+
+public:
+
+/*
+ * Constructor: Point
+ * Usage: Point origin;
+ * Point pt(x, y);
+ * ----------------------
+ * Creates a <code>Point</code> object with the specified x and y coordinates.
+ * If the coordinates are not supplied, the default constructor sets these
+ * fields to 0.
+ */
+
+ Point();
+ Point(int x, int y);
+
+/*
+ * Method: getX
+ * Usage: int x = pt.getX();
+ * -------------------------
+ * Returns the <i>x</i>-coordinate of the point.
+ */
+
+ int getX() const;
+
+/*
+ * Method: getY
+ * Usage: int y = pt.getY();
+ * -------------------------
+ * Returns the <i>y</i>-coordinate of the point.
+ */
+
+ int getY() const;
+
+/*
+ * Method: toString
+ * Usage: string str = pt.toString();
+ * ----------------------------------
+ * Returns a string representation of the <code>Point</code> in the form
+ * <code>"(x, y)"</code>.
+ */
+
+ std::string toString() const;
+
+/*
+ * Friend operator: ==
+ * Usage: if (p1 == p2) ...
+ * ------------------------
+ * Returns <code>true</code> if <code>p1</code> and <code>p2</code>
+ * are the same point.
+ */
+
+ bool operator==(const Point & p2) const;
+
+/*
+ * Friend operator: !=
+ * Usage: if (p1 != p2) ...
+ * ------------------------
+ * Returns <code>true</code> if <code>p1</code> and <code>p2</code>
+ * are different.
+ */
+
+ bool operator!=(const Point & p2) const;
+
+/* Private section */
+
+/**********************************************************************/
+/* Note: Everything below this point in the file is logically part */
+/* of the implementation and should not be of interest to clients. */
+/**********************************************************************/
+
+private:
+
+/* Instance variables */
+
+ int x; /* The x-coordinate of the point */
+ int y; /* The y-coordinate of the point */
+
+};
+
+/*
+ * Operator: <<
+ * Usage: cout << pt;
+ * ------------------
+ * Overloads the <code>&lt;&lt;</code> operator so that it is able
+ * to display <code>Point</code> values.
+ */
+
+std::ostream & operator<<(std::ostream & os, const Point & pt);
+
+#endif