The purpose of these c++ projects is to get introduced into OOP. We are allowed to use standard c++17.
- code must be coiled with
c++and the flags-Wall -Werror -Wextra. - there must be a Makefile for each exercise.
- Class names and corresponding filenames must be written in UpperCamelCase format.
- The
using namespace <ns_name>andfriendkeywords are forbidden. - There must be no memory leaks.
- Classes must be designed in the Orthodox Canonical Form.
- There can be no function implementations in headerfiles.
- Headers must be able to be used independently from others.
- Use of STL in the Module 08 and 09 only->no containers / Algorithm header
Objective: Implement a class "ClapTrap" with specified attributes and functions as stated in the subject pdf.
cd ex00
make
./ClapTrap
- it was a little annoying to implement since the subject is very vague about how exactly it has to behave.
Ojective: Create a derived robot (class) named "ScavTrap" with different base values and a special function.
cd ex01
make
./ScavTrap
-it was interesting to see the order in which the constructors are called and how syntactically this has to be done.
cd ex02
make
./FragTrap
- Repetitive, same as previous exercise.
Ojective: Create a monster: a ClapTrap that’s half FragTrap, half ScavTrap. It will be named DiamondTrap
cd ex02
make
./DiamondTrap
- Concept of Diamond inhertence is really interestig.