Learning CPP basics. /!\ MAKE FUNCTIONS AND MEMBERS AS CONST AS POSSIBLE!
CPP00:
- Namespace
- Inputs and outputs
- Class:
- .hpp : class declaration / .cpp : class definition
- classes and instances
- constructors and destructors
- initialization lists
- public vs private members
- struct vs class
- getters and setters
- comparing instances
- member vs non-member attributes of a class
- member pointers and function pointers
CPP01:
- Heap allocation: new and delete
- References vs pointers
- Filestreams
CPP02:
- Polymorphism adhoc (function overload depending on param)
- operators overload
- Canonical Form (Coplien)
- Fixed point numbers
CPP03
- Inheritance
- Public vs protected vs private inheritance modes
- Virtual inheritance
- Multiple inheritance
CPP04
- Sub-typing polymorphism, virtual members and methods
- Pure methods, abstract classes and Interfaces
CPP05
- Nested classes
- Exceptions
CPP06
- Casts in C
- Conversions (explicit vs implicit)
- Reinterpretation (conversion identitaire)
- Demotion from const to non-const
- Casts in C++
- Upcast vs Downcast
- Static cast
- Dynamic cast
- Reinterpret cast
- Const cast
- Cast operator
- Explicit
CPP07
- Parametric macros in C
- C++ templates
- Function templates
- Class templates
- Default type
- Partial and total specialization
CPP08
- STL
- Containers: lists, maps, vectors... and iterators
- Algorithms (eg: for_each)
Written in december 2020 - january 2021.