Here is a recursive definition of largest.

int largest(const Node* t)
{
  if(t->right == NULL) return t->item;
  else return largest(t->right);
}

Here is a definition of largest that uses a loop.

int largest(const Node* t)
{
  const Node* p = t;
  while(p->right != NULL) p = p->right;
  return p->item;
}