Skip to content

Repository files navigation

C++ Language Learning Workspace — Complete Guide

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).


📁 Directory Structure

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

🚀 How to Build and Run

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-db

For Windows users without make, simply double click run_cpp_projects.bat to launch the capstone projects.

About

A complete Modern C++ (C++11/14/17) Engineering Bootcamp. Master Object-Oriented Programming (OOP), Polymorphism, Smart Pointers, Move Semantics, and the Standard Template Library (STL). Includes comprehensive interview questions and hands-on capstone projects.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages