ProgrammingAdvices.com · Course 11 of the Roadmap · By Dr. Mohammed Abu-Hadhoud
This repository contains my solutions and project work for Course 11 — OOP as it Should Be (Applications) from ProgrammingAdvices.com, taught by Dr. Mohammed Abu-Hadhoud.
Course 11 is the practical application counterpart to Course 10 (OOP Concepts). The focus here is on building real applications using Object-Oriented Programming the way professionals do — with clean design, proper class hierarchies, and real-world problem solving.
The main project in this course is a fully-featured Bank Management System built entirely in C++ using OOP principles. It covers:
- Client Management — Add, update, delete, find, and list bank clients
- User Management — Admin panel with role-based access control
- Transactions — Deposit, withdraw, and transfer funds between accounts
- Currency Exchange — Multi-currency support with real-time rate updates
- Login System — Secure login with access permissions per user
- Transfer Log — Full audit trail of all fund transfers
- File-Based Persistence — Data stored and read from
.txtfiles
| Class | Responsibility |
|---|---|
clsBankClient |
Core client model with full CRUD operations |
clsUser |
User accounts and permission management |
clsCurrency |
Currency model with exchange rate logic |
clsScreen |
Base screen class for all UI screens |
clsPerson |
Base class for client/user inheritance |
clsDate |
Date handling and formatting |
clsInputValidate |
Centralized input validation |
clsString |
Custom string utilities |
- Language: C++
- Paradigm: Object-Oriented Programming (OOP)
- IDE: Visual Studio
- Storage: File-based (
.txtfiles)
- Inheritance & Polymorphism
- Encapsulation & Abstraction
- Static methods and class-level operations
- File I/O with class integration
- Layered screen/UI architecture using base classes
- Role-based access control design
This course is Step 11 in the ProgrammingAdvices Roadmap — the applications phase of OOP after mastering concepts in Course 10.
... → Course 10 (OOP Concepts) → Course 11 (OOP Applications) ✅ → Course 12 (Data Structures) → ...
- 🌐 Course Page
- 👨🏫 Instructor: Dr. Mohammed Abu-Hadhoud
- 🏫 Platform: ProgrammingAdvices.com
Made with ❤️ by Ahmad Mallad