french route management C++ (polymorphism,heritage,templates,...)