Website Summary Files Commits Branches @commit @diff @stats
path: root / Week07 / Exercise01 / User.h
diff options
context:
space:
mode:
1 files changed, 45 insertions, 0 deletions
-rw-r--r--Week07/Exercise01/User.h45
diff --git a/Week07/Exercise01/User.h b/Week07/Exercise01/User.h
new file mode 100644
index 0000000..7e04560
--- /dev/null
+++ b/Week07/Exercise01/User.h
@@ -0,0 +1,45 @@
+#ifndef _USER
+#define _USER
+
+#include "String.h"
+#include "Book.h"
+
+class User {
+ String email;
+ String password;
+ unsigned bankCard;
+
+ // Масив от указатели към книги
+ const Book** library;
+ unsigned libraryCount;
+ unsigned libraryAlloc;
+
+ void copyFrom(const User& other);
+ void free();
+
+ void resizeLibrary();
+
+public:
+ User();
+ ~User();
+ User(const User& other);
+ User& operator=(const User& other);
+ User(User&& other);
+ User& operator=(User&& other);
+
+ void SetEmail(const String& newEmail);
+ const String& GetEmail() const;
+
+ void SetPassword(const String& newPassword);
+
+ bool Login(const String& email, const String& password);
+
+ void AddBookToLibrary(const Book* book);
+ void ListLibrary();
+ const Book* GetBook(unsigned index) const;
+
+ void SetBankCard(unsigned newBankCard);
+ unsigned GetBankCard() const;
+};
+
+#endif /* _USER */