c++ model