Can a class overload methods that also exist in the publicly inherited interface?
It seems like this is unambiguous and useful, but compilers (VC, Intel, GCC) all complain,
This is called hiding the parent member function. You can explicitly call it (by Bound::rebound(left, right) as @Ates Goral said) or you can add a using Bound::rebound in your Node class definition.
See http://www.parashift.com/c++-faq-lite/strange-inheritance.html#faq-23.9 for more info.