From 1e5def6c1b1ebfcc100ea705325293b089f374f1 Mon Sep 17 00:00:00 2001 From: Freitas_Enzo Date: Fri, 20 Feb 2026 15:18:00 +0000 Subject: [PATCH] =?UTF-8?q?T=C3=A9l=C3=A9verser=20les=20fichiers=20vers=20?= =?UTF-8?q?"/"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- User.cpp | 21 +++++++++++++++++++++ User.h | 31 +++++++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 User.cpp create mode 100644 User.h diff --git a/User.cpp b/User.cpp new file mode 100644 index 0000000..8811110 --- /dev/null +++ b/User.cpp @@ -0,0 +1,21 @@ +#include "User.h" +#include + +User::User(int id, const std::string& username, const std::string& password) + : id(id), username(username), password(password) {} + +int User::getId() const { return id; } + +std::string User::getUsername() const { return username; } + +std::string User::getPassword() const { return password; } + +Role User::getRole() const { return role; } + +void User::displayMenu() const { + std::cout << "Menu pour " << username << " (role = "; + if(role == Role::ADMIN) std::cout << "ADMIN"; + else if(role == Role::PROF) std::cout << "PROF"; + else std::cout << "STUDENT"; + std::cout << ")\n"; +} \ No newline at end of file diff --git a/User.h b/User.h new file mode 100644 index 0000000..5f583b6 --- /dev/null +++ b/User.h @@ -0,0 +1,31 @@ +#ifndef USER_H +#define USER_H + +#include + +enum class Role { + ADMIN, + PROF, + STUDENT +}; + +class User { +protected: + int id; + std::string username; + std::string passwordHash; + Role role; + +public: + User(int id, const std::string& username, const std::string& passwordHash, Role role); + + virtual ~User() = default; + + int getId() const; + std::string getUsername() const; + Role getRole() const; + + virtual void displayMenu() const = 0; +}; + +#endif \ No newline at end of file