title: Mutually recursive classes
body: <p>How do I implement mutually recursive classes in C++?  Something like:</p>
  
  <pre><code>/*
   * Recursion.h
   *
   */
  
  #ifndef RECURSION_H_
  #define RECURSION_H_
  
  class Class1
  {
    Class2* Class2_ptr;
  public:
    void Class1_method()
    {
        //...
        (*Class2_ptr).Class2_method();
        //...
    }
  };
  
  class Class2
  {
      Class1* Class1_ptr;
  public:
      void Class2_method()
      {
          //...
          (*Class1_ptr).Class1_method();
          //...
      };
  };
  
  
  #endif /* RECURSION_H_ */
  </code></pre>