title: Copy and Base Constructor don't initialize C++
body: <p>When calling the constructor with a default constructor argument no object gets constructed.</p>
  
  <pre><code>    class cl{
  private:
  public:
      cl(){cout &lt;&lt; "Default used" &lt;&lt; endl;};
      cl(const cl &amp; cl_object) {cout &lt;&lt; "Copy used" &lt;&lt; endl;};
      cl &amp; operator=(const cl &amp; cl_object){cout &lt;&lt; "Assignment used" &lt;&lt; endl; return *this;};
  };
  </code></pre>
  
  <p>When I write:</p>
  
  <pre><code>cl(cl()); 
  </code></pre>
  
  <p>no message gets displayed.</p>
  
  <p>Questions:
  1) Why no object is constructed ?
  2) Why the copy constructor is not used ?</p>