but I don't understand the meaning of tree_node*.
tree_node is the structure's name which is a member of the class BinarySearchTree but what's about tree_node*? What means the asterisk after tree_node?
Thanks
Personal preference, but I prefer the OP's style more. About the only time I combine the object declaration with the struct declaration is if the struct is anonymous.