An object oriented implementation of a Red-Black Tree in C++