Un arbol binario en c++ es un poco diferente si lo comparamos con los arboles binarios en pesudolenguaje.
Como bien sabes todo arbol binario se compone de 3 elementos, que a su vez son arboles.
la clase en c++ sería la siguiente:
esta sería la cabecera de la clase: (arbolbin.hpp)
 
class CArbolBin{
   public:
      typedef ... TpElemento //cualquier tipo de datos
      CArbolBin();  //constructor
      ~CArbolBin(); //destructor
      TpElemento Raiz();
      CArbolBin Izq();
      CArbolBin Der();
      bool ArbolVacio();
      void Componer(TpElemento x, CArbolBin izq, CArbolBin der);
      private:
      struct TNodoAbin{
         TpElemento elem;
         TNodoAbin *izq;
         TNodoAbin *der;
      };
      typedef TNodoAbin *TArbol;
      TArbol ptraiz;
};
 
Despues habría que implementar los métodos de la clase.