Object-Oriented Programming Introduction
1 Topics
OOP Concepts
11 Sub-topics
What is Object-Oriented Programming
Procedural vs OOP Paradigm
Four Pillars of OOP Overview
Classes and Objects Introduction
Classes and Objects
1 Topics
Classes and Objects
20 Sub-topics
Access Specifiers - public
Access Specifiers - private
Access Specifiers - protected
Member Functions Inside Class
Member Functions Outside Class
this Pointer Applications
Constant Member Functions
Class Size and Memory Layout
Inheritance - Fundamentals
1 Topics
Inheritance Basics
15 Sub-topics
Calling Base Class Constructors
Destructor in Inheritance
Member Access in Inheritance
Overriding Base Class Functions
Hiding Base Class Members
Inheritance and static Members
Polymorphism - Compile Time
1 Topics
Compile-Time Polymorphism
23 Sub-topics
Compile-time vs Runtime Polymorphism
Function Overloading as Polymorphism
Operator Overloading Introduction
Overloading Arithmetic Operators
Overloading * and / Operators
Overloading Comparison Operators
Overloading == and != Operators
Overloading < and > Operators
Overloading <= and >= Operators
Spaceship Operator (C++20)
Overloading Assignment Operator
Overloading Increment/Decrement
Overloading Subscript Operator []
Overloading Function Call Operator ()
Overloading Stream Operators << >>
Overloading Unary Operators
Member vs Non-member Overloading
Operators That Cannot be Overloaded
Polymorphism - Runtime
1 Topics
Runtime Polymorphism
20 Sub-topics
Runtime Polymorphism Concept
Function Overriding Review
Virtual Functions Introduction
How Virtual Functions Work
Virtual Table (vtable) Explained
Virtual Pointer (vptr) Explained
Abstract Class as Interface
Virtual Function Best Practices
final Specifier for Methods
Virtual Functions and Constructors
Virtual Functions and Destructors
Runtime Type Information (RTTI)
Polymorphism Performance Considerations