What you will learn
- Foundations of C++
- Object-Oriented Programming (OOP) Principles
- Memory Management
- STL (Standard Template Library)
- File Handling and load balancing.
- Concurrency and Multithreading
- Advanced C++ Features
Beneficial for
- Software Developers
- Computer Science Students
Course Pre-requisite
- Basic programming knowledge (preferably in C, Java, or a similar language).
- Understanding of fundamental computer science concepts.
- Familiarity with basic data structures (arrays, linked lists, etc.).
Course Outline
Object-Oriented Fundamentals
Programming Paradigms
Conquering Complexity
C++ Basics
Built-in Types, Arrays and Pointers
Comments, Keywords, I/O Streams
Built-in Operators and Control Constructs
Dynamic Free Store Operators
C++ Functions
Definition and Prototypes
Inline Functions
Structures and References
Encapsulation
Data Members, Member Functions
Private and Public
Constructors and Destructors
Default Arguments
Storage Allocation and Deallocation
this Pointer
Copy Constructors
Overloading Functions
Overloading Operators
Unary and Binary Operators
Initialization vs. Assignment
Stream Input and Output
Inheritance
Public Inheritance and Subtyping
Base and Derived Classes
Constructors and Destructors
Base Class Initialization
Using Protected keyword
Virtual Functions
Base Class Pointers and References
Dynamic Binding
Abstract Base Classes
Pure Virtual Functions
Virtual Destructors
Containment
Objects as Data Members
Member Initialization
Private Inheritance
Base and Derived Relationship
Access Declarations
Templates
Template Functions
Template Classes
Exceptions
try, catch, throw
Exception Hierarchies