Skip to content

keechongwei/CPP_Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Deep Dive — Practice Repository

This repository contains my implementations, exercises, and notes from the Udemy course
Learn C++ Programming – Beginner to Advance – Deep Dive in C++ by Abdul Bari.

It demonstrates my progression through the core topics of C++ — from fundamental data types and control flow all the way to object-oriented programming, templates, STL, exceptions, and a capstone Banking System project.


📂 Repository Structure

  • dataTypes/
    Covers C++ primitive types, variables, operators, expressions, enums, typedefs, and bitwise operations.

  • Section_5_C++_Basics/
    Basics of writing C++ programs, precedence rules, conditional statements, loops, and control flow.

  • Section_8_Arrays/
    Single- and multi-dimensional arrays, searching (linear, binary), sorting, and array-based algorithms.

  • Section_10_Strings/
    C-style strings and std::string, string manipulation methods, iterators, substring operations, and parsing.

  • Section_11_Functions/
    Function definitions, overloading, default arguments, templates, inline functions, recursion, and scope management.

  • Section_12_13_OOPS/
    Core OOP concepts: classes, objects, constructors/destructors, operator overloading, encapsulation, and data hiding.

  • Section_14_15_16_Inheritance/
    Inheritance models, constructor chaining, base-class pointers, polymorphism with virtual functions, and abstract classes.

  • Section_17_Friends_Inner_Static/
    Friend functions/classes, static members, and nested/inner class usage.

  • Section_18_ExceptionHandling/
    Exception handling with try/catch, throw mechanics, multiple catch blocks, and error safety.

  • Section_19_Templates/
    Function and class templates for generic programming and type-safe reuse.

  • Section_20_Constants_Preprocessor_Namespaces/
    Usage of const, macros, preprocessor directives, and organizing code with namespaces.

  • Section_21_Streams_IO/
    Input/output streams, file handling, text vs binary I/O, and serialization.

  • Section_23_STL/
    Standard Template Library: vectors, lists, stacks, queues, sets, maps, and algorithms.

  • Final_Project/
    A simple Banking System console application that integrates OOP, exception handling, file I/O, and STL containers.


🚀 Skills Demonstrated

  • Core C++ syntax and semantics (data types, loops, functions).
  • Object-Oriented Programming (encapsulation, inheritance, polymorphism).
  • Operator overloading, friend classes, and static/inner classes.
  • Generic programming with templates.
  • Robust programs with exception handling.
  • File handling and streams (text & binary).
  • Practical use of the STL (containers, algorithms, iterators).
  • Application of C++11 features like lambdas and smart pointers (in relevant exercises).
  • Building a complete project (Banking System) tying together all major concepts.

🛠️ Build & Run

Compile a single file

g++ -std=c++17 -Wall -Wextra Section_10_Strings/string_methods.cpp -o string_methods
./string_methods

📜 Notes

All code here is original practice I wrote while following the course.

The structure mirrors the course sections for easy navigation.

This repository acts both as a portfolio of C++ fundamentals and a reference library for future projects.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages