cpp abstract n poly..