Checkout the repository for each module by clicking on the respective heading.
CPP-00 - Basics of C++
Concepts:
- namespaces
- Class and instance
this->pointer- member functions
- stdio streams
- encapsulation
- initialization lists
staticandconstkeywords
CPP-01 - Memory, references, and file streams
Concepts:
- dynamic memory allocation:
newanddelete - pointers to members
- references
- file manipulation
- switch statements
CPP-02 - Ad-hoc polymorphism, overloading, and canonical form
Concepts:
- Function overloading (Ad-hoc polymorphism)
- Operator overloading
- Orthodox Canonical form
- Fixed-point numbers
CPP-03 - Inheritance
Concepts:
- Inheritance between classes
- Multiple inheritance
- Diamond problem
CPP-04 - Subtype polymorphism, abstract classes, and interfaces
Concepts:
- Subtyping
- Abstract classes
- Pure virtual functions
- Virtual Destructors
- Deep copies
CPP-05 - Exception handling
Concepts:
- Exceptions
try,catch, andthrowkeywords
CPP-06 - Scalar type conversions & Casting
Concepts:
- Static classes and non-instantiable design
static_cast,reinterpret_cast, anddynamic_cast
CPP-07 - Function and Class templates
Concepts:
- Template syntax and instantiation
- Function templates
- Class templates (custom array container implementation)
CPP-08 - Templated containers, iterators, algorithms
Concepts:
- STL sequence containers
vector,list,deque - STL container adaptor
stack
CPP-09 -
Concepts: