- Introduction to Programming Paradigms
- Basic Overview of OOPs Concepts
- Introduction, Features and History of C++ Programming
- Structure of C++ Program
- Constants, Variables, Keywords and Identifiers in C++
- Datatypes in C++
- Input and Output in C++
- Operators in C++
- Operator Precedence and Associativity in C++
- Reference Variables in C++
- Selection Control Structures
- Tricky if..else
- Switch Case Statements
- Problems on Conditional Statements
- Arrays in C++
- Arrays Exercise
- Strings in C++
- Pointers
- Pointer Arithmetic
- New and Delete Operators
- Arrow Operator
- This Pointer
- Functions and Function Prototypes
- Call by Value and Call by Reference
- Inline Function, Default and Constants Arguments
- Recursions and Recursive Functions
- Function Overloading
- Structures, Unions and Enums in C++
- Class and Object Definition
- Accessing Data Members and Access Modifiers
- Static Data Members and Functions
- Array of Objects
- Memory Allocation for an Object
- Introduction to Operator Overloading
- Overloading Equality Operator
- Overloading Binary Operator
- Overloading Unary Operator
- Overloading Assignment and Shorthand Assignment Operator
- Overloading Comparision Operator
- Overloading Logical Operator
- Overloading Insertion and Extraction Operator
- Overloading New and Delete Operator
- Overloading Arrow Operator
- Overloading Array Subscript and Function Call Operator
- String Manipulation using Operator Overloading
- Data Conversion
- Introduction to Inheritance
- Inheritance Syntax and Visibility Modes
- Single-Level Inheritance
- Multiple Inheritance
- Multi-Level Inheritance
- Hierarchial Inheritance
- Hybrid Inheritance
- Method Overriding
- Ambiguity Resolution in Inheritance
- Virtual Base Class
- Constructors in Inheritance
- Destructors in Inheritance
- Association, Composition and Aggregation
- Introduction to Polymorphism
- Virtual Functions and Virtual Destructors
- Override and Final Specifier
- Pure Virtual Functions and Abstract Classes
- Abstract Classes as Interfaces
- Exception Handling Concept
- Handling Multiple Exceptions
- Exception Handling Options
- Stack Unwinding and Standard Exceptions
- Introduction to STL
- Templates in C++
- Function Templates
- Class Templates
- Iterators and Algorithms in STL
- Array [Sequence Container]
- Vector [Sequence Container]
- Deque [Sequence Container]
- List and Forward List [Sequence Container]
- Sets and Maps [Associative Container]
- Stack [Container Adaptor]
- Queue and Priority Queue[Container Adaptor]