From 0c39051ba80f04b1177833a006f2d442a7170b56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Thu, 3 Dec 2020 17:11:43 +0100 Subject: add initial files l8 --- labb8/lib/StanfordCPPLib/point.h | 113 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100755 labb8/lib/StanfordCPPLib/point.h (limited to 'labb8/lib/StanfordCPPLib/point.h') 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 x-y + * pair. + */ + +#ifndef _point_h +#define _point_h + +#include + +/* + * Class: Point + * ------------ + * This class represents an x-y coordinate point on a + * two-dimensional integer grid. If you need to work with real-valued points, + * you should use the gtypes.h + * interface instead. + */ + +class Point { + +public: + +/* + * Constructor: Point + * Usage: Point origin; + * Point pt(x, y); + * ---------------------- + * Creates a Point 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 x-coordinate of the point. + */ + + int getX() const; + +/* + * Method: getY + * Usage: int y = pt.getY(); + * ------------------------- + * Returns the y-coordinate of the point. + */ + + int getY() const; + +/* + * Method: toString + * Usage: string str = pt.toString(); + * ---------------------------------- + * Returns a string representation of the Point in the form + * "(x, y)". + */ + + std::string toString() const; + +/* + * Friend operator: == + * Usage: if (p1 == p2) ... + * ------------------------ + * Returns true if p1 and p2 + * are the same point. + */ + + bool operator==(const Point & p2) const; + +/* + * Friend operator: != + * Usage: if (p1 != p2) ... + * ------------------------ + * Returns true if p1 and p2 + * 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 << operator so that it is able + * to display Point values. + */ + +std::ostream & operator<<(std::ostream & os, const Point & pt); + +#endif -- cgit v1.2.1