title: Calling a base member in constructor in multiple inheritance in C++
body: <p>Suppose I have these two classes</p>
  
  <pre><code>class base_size
  {
  public:
     int size()
     { return 5; }
  };
  
  class base_implement
  {
  public:
     base_implement(int s) : _vec(s)
     {
        cout &lt;&lt; "size : " &lt;&lt; _vec.size() &lt;&lt; endl;
     }
  private:
     vector&lt;float&gt; _vec;
  };
  </code></pre>
  
  <p>If I were to inherit from both of these would it be alright to call one of these classes member function in the other's constructor? For example</p>
  
  <pre><code>class derived : 
     public base_implement,
     public base_size
  {
  public:
     derived() : base_size(), base_implement(size())
     {
        // Is this OK? 
        // If derived is not yet constructed can I access this-&gt;size() ?
        // Works in VC++. Not sure about other compilers.
     }
  };
  </code></pre>