1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
template <typename T> class foo { T t; }; class bar; typedef foo<bar> foobar; class obj { virtual foobar* yeah() = 0; }; class bar : virtual public obj { };