From 08cdab9e4301f3b7ce927d4593326a53790ff5af Mon Sep 17 00:00:00 2001 From: Joel Thomas <1914@trenser.com> Date: Sat, 21 Feb 2026 12:57:38 +0530 Subject: [PATCH] Remove Address class and add Address attribute to class User --- .../Trenser.FoodDeliveryApp/Address.cpp | 1 - .../Trenser.FoodDeliveryApp/Address.h | 28 ------------------- .../Trenser.FoodDeliveryApp/Customer.h | 5 ++-- .../Trenser.FoodDeliveryApp/DeliveryPartner.h | 5 ++-- .../FoodDeliveryController.cpp | 13 +++++---- .../Trenser.FoodDeliveryApp/RestaurantOwner.h | 5 ++-- .../Trenser.FoodDeliveryApp.vcxproj | 2 -- .../Trenser.FoodDeliveryApp.vcxproj.filters | 6 ---- .../Trenser.FoodDeliveryApp/User.cpp | 5 ++++ .../Trenser.FoodDeliveryApp/User.h | 11 ++++++-- 10 files changed, 30 insertions(+), 51 deletions(-) delete mode 100644 Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.cpp delete mode 100644 Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.cpp deleted file mode 100644 index 9c0825c..0000000 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "Address.h" diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h deleted file mode 100644 index 1e081f7..0000000 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Address.h +++ /dev/null @@ -1,28 +0,0 @@ -/* -Author: Joel Mathew Thomas -Date: 18-12-2026 -*/ - -#pragma once -#include - -class Address -{ -private: - std::string m_street; - std::string m_city; - int m_pincode; -public: - Address() : - m_street(""), - m_city(""), - m_pincode(0) - {} - Address(const std::string& street, const std::string& city, int pincode): - m_street(street), - m_city(city), - m_pincode(pincode) - {} - std::string getAddress() const; -}; - diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h index 16330e3..a7b2046 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Customer.h @@ -21,8 +21,9 @@ public: const std::string& name, const std::string& phone, const std::string& password, - const std::string& email) : - User(username, name, phone, password, email) + const std::string& email, + const std::string& address) : + User(username, name, phone, password, email, address) {} void addOrder(std::shared_ptr); orders& getOrders(); diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h index fa42aba..b6c8c42 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/DeliveryPartner.h @@ -21,8 +21,9 @@ public: const std::string& name, const std::string& phone, const std::string& password, - const std::string& email) : - User(username, name, phone, password, email) + const std::string& email, + const std::string& address) : + User(username, name, phone, password, email, address) {} void acceptDeliveryAssignment(std::shared_ptr); deliveryAssignments& getAssignedDeliveries(); diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp index 5a6cd4b..2a700b0 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/FoodDeliveryController.cpp @@ -252,7 +252,7 @@ void FoodDeliveryController::registerUser() { try { - std::string username, password, phone, name, email; + std::string username, password, phone, name, email, address; util::clear(); std::cout << "Enter Username: "; util::readString(username); @@ -269,6 +269,8 @@ void FoodDeliveryController::registerUser() util::readString(phone); std::cout << "Enter Email: "; util::readString(email); + std::cout << "Enter Address: "; + util::readString(address); while (true) { int choice; @@ -282,13 +284,13 @@ void FoodDeliveryController::registerUser() switch (choice) { case 1: - m_users[username] = std::make_shared(username, name, phone, password, email); + m_users[username] = std::make_shared(username, name, phone, password, email, address); break; case 2: - m_users[username] = std::make_shared(username, name, phone, password, email); + m_users[username] = std::make_shared(username, name, phone, password, email, address); break; case 3: - m_users[username] = std::make_shared(username, name, phone, password, email); + m_users[username] = std::make_shared(username, name, phone, password, email, address); break; case 4: return; @@ -742,6 +744,7 @@ void FoodDeliveryController::viewProfile() const << std::left << std::setw(10) << "Username " << ": " << m_authenticatedUser->getUsername() << "\n" << std::left << std::setw(10) << "Phone " << ": " << m_authenticatedUser->getPhone() << "\n" << std::left << std::setw(10) << "Email " << ": " << m_authenticatedUser->getEmail() << "\n" - << std::left << std::setw(10) << "Type " << ": " << m_authenticatedUser->getType() << "\n"; + << std::left << std::setw(10) << "Type " << ": " << m_authenticatedUser->getType() << "\n" + << std::left << std::setw(10) << "Address " << ": " << m_authenticatedUser->getAddress() << "\n"; } } diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h index 7424b0e..e9717c0 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/RestaurantOwner.h @@ -22,8 +22,9 @@ public: const std::string& name, const std::string& phone, const std::string& password, - const std::string& email) : - User(username, name, phone, password, email) + const std::string& email, + const std::string& address) : + User(username, name, phone, password, email, address) {} void addRestaurant(std::shared_ptr); restaurants& getRestaurants(); diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj index 651d229..32c19c5 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj @@ -123,7 +123,6 @@ - @@ -144,7 +143,6 @@ - diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters index 00c86c6..ff4b6e1 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp.vcxproj.filters @@ -27,9 +27,6 @@ - - Models - Models @@ -86,9 +83,6 @@ - - Models - Models diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp index 38b5df4..c7c3d3c 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.cpp @@ -25,6 +25,11 @@ std::string User::getEmail() const return m_email; } +std::string User::getAddress() const +{ + return m_address; +} + bool User::login(const std::string& password) const { return password == m_password; diff --git a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h index 2a49273..4501881 100644 --- a/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h +++ b/Trenser.FoodDeliveryApp/Trenser.FoodDeliveryApp/User.h @@ -14,30 +14,35 @@ private: std::string m_phone; std::string m_password; std::string m_email; + std::string m_address; public: User(): m_username(""), m_name(""), m_phone(""), m_password(""), - m_email("") + m_email(""), + m_address("") {} User(const std::string& username, const std::string& name, const std::string& phone, const std::string& password, - const std::string& email): + const std::string& email, + const std::string& address): m_username(username), m_name(name), m_phone(phone), m_password(password), - m_email(email) + m_email(email), + m_address(address) {} virtual ~User() = default; std::string getUsername() const; std::string getName() const; std::string getPhone() const; std::string getEmail() const; + std::string getAddress() const; virtual std::string getType() const = 0; bool login(const std::string&) const; };