This homework sorts any type on 3 different ways (uses templates, polymorphism, inheritance and other OOP techniques.)