title: Value initialization for non aggregate class with user defined constructor
body: <p>I am going through this question:<a href="https://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special/7189821#7189821">Aggregates and pods</a>
  When an object of  class in C++ with user defined default constructor, has only some of it's data members initialized,will the rest of data members be value initialized?
  Following is the program I tried resulting in compilation error:</p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  class A {
  public:
      A() {
          i=10;
          f = 10.0f;
          c = 45;
          d = 10.0;
      }
  
      void show() {
          cout &lt;&lt; i &lt;&lt; "\t" &lt;&lt; f &lt;&lt; "\t" &lt;&lt; c &lt;&lt; "\t" &lt;&lt; d&lt;&lt;"\n";
      }
  
  private:
      int i;
      float f;
      char c;
      double d;
  };
  
  int main() {
      A a={20,20.0f};
      a.show();
  }
  </code></pre>