title: C# inheritance and default constructors
body: <p>Suppose there is a base class <code>A</code> and a class <code>B</code> derived from <code>A</code>.
  Then, we know that the constructor of class <code>A</code> is never inherited by class <code>B</code>. However, when a new object of <code>B</code> is created, then - the default constructor of the class <code>A</code> is called prior to the default/custom constructor of class <code>B</code> is invoked. Maybe the purpose of this is that the fields of class <code>A</code> need to be initialized to default values.</p>
  
  <p>Now, suppose that class <code>A</code> has defined a custom constructor. This means that the default constructor of class <code>A</code> is silently removed by the compiler. Now, on creating a new instance of class <code>B</code>, which constructor of class <code>A</code> is automatically called before invoking the class <code>B</code>'s constructor? (How does the class <code>A</code> fields get initialized in such a case?)</p>