Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Project 1 / src / Models / Hall.h
diff options
context:
space:
mode:
Commit24bdf39e6c21ab846f6c86803761d78a094e05c0 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-26 20:31:26 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-26 20:31:26 +0300
Files1b2077b088098cc7ae6afc946b10a4d680110294 /Year 1/Object-oriented Programming/Project 1/src/Models/Hall.h
uni-projects-24bdf39e6c21ab846f6c86803761d78a094e05c0.tar
uni-projects-24bdf39e6c21ab846f6c86803761d78a094e05c0.tar.gz
uni-projects-24bdf39e6c21ab846f6c86803761d78a094e05c0.zip
Parentcbe944835cc0951a946d01f034b4d28ff9874a4e (diff)
Added files from project 1 (mirror)
1 files changed, 47 insertions, 0 deletions
-rw-r--r--Year 1/Object-oriented Programming/Project 1/src/Models/Hall.h47
diff --git a/Year 1/Object-oriented Programming/Project 1/src/Models/Hall.h b/Year 1/Object-oriented Programming/Project 1/src/Models/Hall.h
new file mode 100644
index 0000000..c567c75
--- /dev/null
+++ b/Year 1/Object-oriented Programming/Project 1/src/Models/Hall.h
@@ -0,0 +1,47 @@
+#ifndef HEADER_MODEL_HALL
+#define HEADER_MODEL_HALL
+
+/*! \file Hall.h
+ * \brief Stores the declaration of class Hall
+ */
+
+#include <istream>
+#include <ostream>
+
+/*! \brief Each hall contains a number, rows and seats per row
+ */
+class Hall {
+ int number;
+ unsigned rows;
+ unsigned seatsPerRow;
+
+public:
+ //! Sets values to 0
+ Hall();
+ //! Sets values, except number, to 0
+ Hall(int number);
+ //! Sets values
+ Hall(int number, unsigned rows, unsigned seatsPerRow);
+
+ //! Returns a Hall's number
+ int get_number() const;
+ //! Returns a Hall's row count
+ unsigned get_rows() const;
+ //! Return a Hall's seats per row count
+ unsigned get_seatsPerRow() const;
+
+ //! Reads Hall from stream
+ void read(std::istream& istr);
+ //! Writes Hall to steam
+ void write(std::ostream& ostr) const;
+ //! Compare two Halls
+ int compare(const Hall& other) const;
+
+};
+
+//! Reads Hall from stream with >> operator
+std::istream& operator>>(std::istream& istr, Hall& hall);
+//! Writes Hall to stream with << operator
+std::ostream& operator<<(std::ostream& ostr, const Hall& hall);
+
+#endif