virtual
inheritance