OOP-Project2 Object Oriented Programming Project implementing: inheritance, abstract classes, smart pointers, STL data structures, exceptions, enum, dynamic cast, static variables, static functions. The classes are separated in header and source files.