A c++ fraction class