c plus plus for abstractClass