My question is why in the explicit constructor the argument is : cont Comparable & notFound. I thought the argument should be type Node<Comparable> *root, since that is the private member. Thanks
"notFound" vs. "root" is just a placeholder name...doesn't mean anything.
Evidently, the constructor is passing the Comparable object by reference, rather than by address. If I remember correctly, this creates a copy of the object for the parameter.
But shouldn't the constructor argument be of type Node * and not Comparable &? The private member is of type Node not Comparable. Node itself is a class.
Can't say for sure without knowing what the constructor is doing, or for that matter, how the class is supposed to behave in general. But, it seems to be a valid copy constructor definition.