But unless the function is virtual AND the table for the object is part of the object itself, it should call the insert function [yes, that's a BAD thing to do, but you can actually get away with it in many compilers - but yes, it's undefined].
As Laserlight points out, you probably should split the tree and the node from each other.
--
Mats