Listing 1 A "typical" class for a binary tree with the tree node class as a private nested type

class tree
   {
public:
   tree();
   ...
private:
   struct node
      {
      node *left, *right;
      ...
      };
   node *root;
   };