Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming / Project 2 / src / Models / CellInt.cpp
diff options
context:
space:
mode:
1 files changed, 33 insertions, 0 deletions
-rw-r--r--Year 1/Object-oriented Programming/Project 2/src/Models/CellInt.cpp33
diff --git a/Year 1/Object-oriented Programming/Project 2/src/Models/CellInt.cpp b/Year 1/Object-oriented Programming/Project 2/src/Models/CellInt.cpp
new file mode 100644
index 0000000..cc09bd0
--- /dev/null
+++ b/Year 1/Object-oriented Programming/Project 2/src/Models/CellInt.cpp
@@ -0,0 +1,33 @@
+#include "CellInt.h"
+#include <cstring>
+
+CellInt::CellInt(int value) {
+ this->value = value;
+}
+
+CellInt::CellInt(const char* str) {
+ value = 0;
+ bool negative = *str == '-';
+ if (*str == '-' || *str == '+') str++;
+
+ while (*str != '\0')
+ value = value * 10 + (*(str++) - '0');
+
+ if (negative) value *= -1;
+}
+
+double CellInt::getNumeralValue() const {
+ return value;
+}
+
+String CellInt::getValueForPrint() const {
+ return String() += value;
+}
+
+void CellInt::parseAndSetValue(const char* str) {
+ value = atoi(str);
+}
+
+void CellInt::writeToFile(std::ofstream& file) {
+ file << value;
+}