- Program management
- Module 00
- Module 01
- Module 02
- Module 03
- Module 04
- Module 05
- Module 06
- Module 07
- Module 08
- General rules
Each application's program is compiled with a Makefile
on Linux or Mac.
Rules of Makefile
:
make
(build the program)make clean
(delete object files *.o)make fclean
(delete object files *.o and executable program file)make re
(rebuild the program)
This module contains the basic elements OOP and basic syntax of the C++ language.
- Namespaces, classes, member functions, stdio streams, initialization lists,static, const, and some other basic stuff
This module focuses on memory allocation, references, element pointers and the use of the SWITCH in C++.
- Memory allocation, pointers to members, references, switch statement
This module focuses on Ad-hoc polymorphism (Classic or Enforced polymorphism), overloads and orthodox canonical classes in C++.
- Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form
This module focuses on Inheritance in C++.
- Inheritance
This module focuses on Subtype polymorphism, abstract classes and interfaces in C++.
- Subtype polymorphism, abstract classes, interfaces
This module focuses on Try/Catch and Exceptions in C++.
- Repetition and Exceptions
This module focuses on the different casts in CPP.
- C++ casts
This module focuses on Templates in CPP.
- C++ templates
This module focuses on templated containers, iterators and algorithms in CPP.
- Templated containers, iterators, algorithms
-
Compile code with
c++
and the flags-Wall -Wextra -Werror
-
Code should still compile with the flag
-std=c++98
-
Orthodox Canonical Form:
-
Default constructor
-
Copy constructor
-
Copy assignment operator
-
Destructor