title: Diamond inheritance with additional class copy constructor
body: <p>So I was wondering lately what the copy constructor of an class will look if we have a base class <code>A</code> that is being virtually inherited by <code>B</code> and <code>C</code>, where <code>B</code> and <code>C</code> are inherited by <code>D</code> and <code>D</code> is inherited by <code>E</code>. </p>
  
  <p><a href="https://i.stack.imgur.com/UBg6E.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/UBg6E.png" alt="enter image description here"></a></p>
  
  <p>So I am a bit confused. Should <code>D</code>'s copy constructor still have the base class's (<code>A</code>) constructor in its initializing list or is that the job of <code>E</code> now? Am I correct that <code>E</code> could inherit <code>D</code> non-virtually?</p>