1
C++ SYLLABUS
1. Basics of C++ 3. Functions in C++
Structure of a C++ Program Function Declaration, Definition, and Calling
Input/Output in C++ (cin, cout, endl) Pass by Value, Pass by Reference
Data Types and Type Conversion Function Overloading
Operators (Arithmetic, Relational, Logical, Default Arguments, Inline Functions
Bitwise, Assignment)
Recursion
Scope and Lifetime of Variables
Lambda Functions
Storage Classes (auto, static, extern, register,
mutable)
4. Arrays, Strings, and
2. Control Flow Statements Structures
If-Else, Nested If 1D, 2D, and Multi-Dimensional Arrays
Switch-Case
Character Arrays vs std::string
Loops (for, while, do-while)
String Manipulation Functions
Break, Continue, and Goto
Struct vs Class
Typedef and Enumerations (enum, typedef,
using)
Union
1
2
C++ SYLLABUS
5. Pointers and Dynamic Memory 7. Inheritance & Polymorphism
Allocation
Types of Inheritance (Single, Multiple,
Pointer Basics, Pointer Arithmetic Multilevel, Hybrid, Hierarchical)
Pointers to Arrays, Functions, Structures Virtual Base Classes
Double Pointers and Pointer to Pointer Function Overriding
Dynamic Memory Allocation (new, delete, Virtual Functions and Late Binding
malloc, free, calloc, realloc)
Abstract Classes and Pure Virtual Functions
Smart Pointers (unique_ptr, shared_ptr,
weak_ptr)
8. Operator Overloading and Friend
Functions
6. Object-Oriented Programming
Overloading Unary and Binary Operators
(OOP)
Overloading << and >> Operators
Classes and Objects
Friend Functions and Friend Classes
Constructors and Destructors
Access Specifiers (private, public, protected)
9. Templates and Generic
Programming
Static Members and Methods
Function Templates
Friend Functions and Friend Classes
Class Templates
Mutable Keyword
Variadic Templates (C++11)
2
3
C++ SYLLABUS
10. Exception Handling Iterators
Try, Catch, Throw Mechanism Algorithms (Sorting, Searching, Min/Max,
Transform)
Standard Exception Classes
13. Advanced Topics
Custom Exception Handling
Lambda Expressions
11. File Handling in C++
Smart Pointers (unique_ptr, shared_ptr,
weak_ptr)
File Streams (ifstream, ofstream, fstream)
Multithreading (Basics of Threads in C++)
Reading and Writing to Files
Memory Management and Optimization
Binary Files
File Pointers and Error Handling 14. Bit Manipulation
Bitwise Operators (&, |, ^, ~, <<, >>)
12. Standard Template Library (STL)
Checking if a Number is a Power of 2
Containers:
Counting Set Bits (Brian Kernighan’s
Sequence Containers (vector, list, deque) Algorithm)
Associative Containers (set, map, multiset, XOR Properties and Applications
multimap)
Unordered Containers (unordered_set,
unordered_map)
3
4
C++ SYLLABUS
15. Preprocessors and Macros 18. Design Patterns in C++
#define, #include, #ifdef, #ifndef, #pragma Singleton Pattern
Inline Macros vs Functions Factory Pattern
Conditional Compilation Observer Pattern
16. Memory Management & Adapter and Decorator Patterns
Optimization
Stack vs Heap Memory 19. Interfacing C++ with Other
Languages
Garbage Collection in C++
Calling C++ from C and Vice Versa
Object Pooling
Using C++ with Python (Pybind11,
Boost.Python)
Cache Optimization
Using C++ with Java (JNI)
17. Multithreading & Concurrency
(C++11 & Above)
Thread Management (std::thread)
20. Network Programming in C++
Mutex and Synchronization
Sockets in C++
Condition Variables
TCP/IP and UDP Communication
Atomic Operations
HTTP Requests using C++
Parallel Algorithms
4
5
C++ SYLLABUS
21. Game Development in C++
(Optional)
Basics of Game Engines (SFML, SDL, Unreal
Engine)
Real-Time Rendering Concepts
Physics Simulation in Games
22. Competitive Programming and
DSA in C++
Mathematical Algorithms (GCD, LCM, Modular
Arithmetic, Fast Exponentiation)
Sorting Algorithms (Bubble, Selection, Merge,
Quick, Heap Sort)
Searching Algorithms (Linear, Binary, Ternary
Search)
Linked List (Singly, Doubly, Circular)
Stack and Queue (Array and Linked List
Implementation)
Graph Algorithms (BFS, DFS, Dijkstra, Floyd-
Warshall)
Dynamic Programming (Knapsack, LCS, LIS,
Matrix Chain Multiplication)
Trie and Segment Tree