title: C++ Multiple Inheritance Constructor
body: <p>I need to know something about the constructor. I didn't really know how to phrase the question, but basically I need to have all the action happening in the constructor of the final class, whilst a variable gets created in the constructor of one class and used in the constructor of another. Does this work, and is it safe? Example code below.</p>
  
  <pre><code>// Init class
  class cInit {
  private:
      std::string *m_X;
  
  public:
      cInit() { m_X = new std::string; }
      std::string *getX() { return m_X; }
  };
  
  // Does this work (?)
  class cUse {
  private:
      std::string *m_X;
  
  public:
      cUse(cInit *x) : m_X( x-&gt;getX() ) { }
  
  // Final Class - same question here? Does it work?
  class Final : public cInit, public cUse {
  public:
      Final() : cInit(), cUse( this ) { }
  }
  </code></pre>