This workspace contains a complete, structured C++ programming curriculum from absolute beginner to interview-ready level, focusing on Object-Oriented Programming (OOP) and the Standard Template Library (STL).
cpp-learning/
│
├── 📚 lessons/ Step-by-step learning files
│ ├── 01-basics/hello.cpp C++ vs C, std::cout, references
│ ├── 02-oop-classes/classes.cpp Classes, Constructors, Encapsulation
│ ├── 03-oop-inheritance/inheritance.cpp Polymorphism, Virtual Functions
│ ├── 04-memory-smart-pointers/smart_ptrs.cpp unique_ptr, shared_ptr
│ ├── 05-stl-vectors/vectors.cpp std::vector and Iterators
│ ├── 06-stl-maps/maps.cpp std::map and std::unordered_map
│ ├── 07-file-io/file_streams.cpp <fstream> file operations
│ ├── 08-templates/templates.cpp Generic programming (Templates)
│ ├── 09-operator-overloading/overloading.cpp Custom operator behaviors
│ ├── 10-exceptions/exceptions.cpp try, catch, throw, <stdexcept>
│ ├── 11-lambdas-and-algorithms/lambdas.cpp Anonymous functions & <algorithm>
│ ├── 12-multithreading/threads.cpp <thread>, <mutex>, and locks
│ ├── 13-move-semantics/move.cpp std::move and Rvalue references
│ └── 14-academic-quirks/academic.cpp Virtual Inheritance, Static Members
│
├── 🚀 projects/ Real-world capstone projects
│ ├── 01-todo-cli/ OOP-based Todo list manager
│ ├── 02-contact-manager/ Contact manager using std::map & fstream
│ └── 03-student-db/ Capstone: Advanced Student Database System
│
├── 📄 INTERVIEW_QUESTIONS.md 25 Q&A cheat sheet (fresher → advanced)
├── 📓 LEARNING_JOURNAL.md Progress tracker + command reference
├── 📖 cpp_crash_course.md Theory reference guide
├── 📝 COMPLETE_NOTES.md Detailed notes on all C++ concepts
├── Makefile Build commands for lessons and projects
└── run_cpp_projects.bat Windows helper to easily run capstones
You can use the provided Makefile to compile and run the examples. You need G++ installed.
# Lessons
make run-basics
make run-classes
make run-inheritance
make run-smart-ptrs
make run-vectors
make run-maps
make run-fileio
make run-templates
make run-overloading
make run-exceptions
make run-lambdas
make run-threads
make run-move
make run-academic
# Projects
make run-todo
make run-contacts
make run-student-dbFor Windows users without make, simply double click run_cpp_projects.bat to launch the capstone projects.