Exploiting Object Orientation to Parallelize C++ Applications