Stuff
public cpp v1 · immutableclass Top{};class Middle : public Top{};template< typename T >class Tpl : public Top{};class Visitor{ ~Visitor() {} virtual void visit( const Top& v ); virtual void visit( const Middle& v ); /* won't compile, so you cannot visit this class directly. sucks, eh? template< typename T > virtual void visit( const Tpl< T >& v ); */};intmain(){ return 0;}