Object-oriented C++ Generic Finite Element Code