This project is a set of 9 modules designed to learn C++. Each module focusses on a new aspect of C++ programming. It was the first time that I interacted with C++ and object oriented programming, and boy was it an eye opener. Doing this modules made me really excited about the different possibilities C++ has to offer.
While working on these modules I kept finding it really tedious to keep writing the classes with orthodox canonical form, so I wrote a script to make it easier, and more importantly faster. You can find the script here.
| Module | Topics | Final Grade |
|---|---|---|
| 0 | Introduction to C++ and classes | |
| 1 | Memory allocation, reference, pointers to members and the usage of the switch | |
| 2 | Ad-hoc polymorphism, overloads and orthodox canonical classes | |
| 3 | Inheritance | |
| 4 | Subtype polymorphism, abstract classes and interfaces | |
| 5 | Try/Catch and Exceptions | |
| 6 | Casting | |
| 7 | Templates | |
| 8 | Templated containers, iterators and algorithms |