title: Are multiple-inherited constructors called multiple times?
body: <p>Are multiple-inherited constructors called multiple times? And in what order are constructors called? Does this depend on the order in the inheritance list?</p>
  
  <p>Here is an example (it's only for making the situation clear, no real-life example).</p>
  
  <pre><code>class Base {};
  class DerivedBaseOne : public Base {};
  class DerivedBaseTwo : public Base {};
  class Derived : public DerivedBaseTwo, public DerivedBaseOne 
  {};
  
  //somewhere in the code, is Base() called two times here?
  Derived * foo = new Derived();
  </code></pre>
  
  <p>Is the <code>Base()</code> constructor called twice? And in what order are the constructors called? Base first? Or <code>DerivedBaseOne()</code> or <code>DerivedBaseTwo()</code> first?</p>