template <typename T>
class foo
{
  T t;
};

class bar;
typedef foo<bar> foobar;

class obj
{
  virtual foobar* yeah() = 0;
};

class bar : virtual public obj
{
};


syntax highlighted by Code2HTML, v. 0.9.1