From c5431e4d321dbf0152e6826841c1ef5c1291ba5b Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 14 Jun 2022 15:38:50 +0300 Subject: Added files from project 2 (mirror) --- .../Project 2/src/Models/Cell.h | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Year 1/Object-oriented Programming/Project 2/src/Models/Cell.h (limited to 'Year 1/Object-oriented Programming/Project 2/src/Models/Cell.h') diff --git a/Year 1/Object-oriented Programming/Project 2/src/Models/Cell.h b/Year 1/Object-oriented Programming/Project 2/src/Models/Cell.h new file mode 100644 index 0000000..9abc639 --- /dev/null +++ b/Year 1/Object-oriented Programming/Project 2/src/Models/Cell.h @@ -0,0 +1,27 @@ +#ifndef HEADER_CELL +#define HEADER_CELL + +/*! \file Cell.h + * \brief Stores the declaration of class Cell + */ + +#include +#include "../Generic/String/String.h" + +/*! \brief Fully abstract class that represents a cell in the table + */ +class Cell { +public: + //! Returns the value of the cell as a double-precision floating point number + virtual double getNumeralValue() const = 0; + //! Returns the value of the cell as a String + virtual String getValueForPrint() const = 0; + //! Parses given C-style string and stores value + virtual void parseAndSetValue(const char* str) = 0; + //! Writes value to a text file + virtual void writeToFile(std::ofstream& file) = 0; + + virtual ~Cell() = default; +}; + +#endif -- cgit v1.3.1-23-gd82d