C++ · 2024
Virtual Restaurant Simulator
A restaurant simulation designed around clean class hierarchies, so new staff roles extend it without rewrites.
- When
- Jul 2024 to Oct 2024
- My role
- Team project
- Stack
- C++ · OOP · Makefile
Problem
Model a working restaurant, staff, menus, orders and inventory, and keep it maintainable as new staff types get added, instead of collapsing into one giant switch statement.
Approach
A 14-class architecture using multi-level inheritance, abstract base classes and virtual methods, so each staff role defines its own behaviour through one shared interface. Adding a role means adding a class, not editing the code that already works.
Inventory, menu and order data persist to three separate files and reload on start, so a session can be saved and resumed. Input validation handles case-insensitive matching, stock caps and low-stock alerts, so malformed input cannot crash it.
Impact
A command-line simulation that runs a full restaurant cycle and stays easy to extend. The project where I learned to think in class boundaries and polymorphism.