title: Does a deleted constructor in base class influences on child class?
body: <p>I deleted a copy constructor in base class but I can't get if the compiler will create an implicit copy constructor in child classes? Or does a deleted constructor in the base class prevent it?</p>
  
  <pre><code>template &lt;typename val_t&gt;
  class exp_t {
  public:
      using vals_t = std::vector&lt;val_t&gt;;
  
      exp_t() {}
      exp_t(const exp_t&lt;val_t&gt; &amp;) = delete;
      exp_t(exp_t &amp;&amp;) = default;
      virtual ~exp_t() {}
  
      exp_t&lt;val_t&gt; &amp;operator=(const exp_t&lt;val_t&gt; &amp;) = delete;
      exp_t&lt;val_t&gt; &amp;operator=(exp_t&lt;val_t&gt; &amp;) = delete;
      exp_t&lt;val_t&gt; &amp;operator=(exp_t &amp;&amp;) = default;
  };
  
  
  template &lt;typename val_t&gt;
  class fact_t: public exp_t&lt;val_t&gt; {
      using vals_t = std::vector&lt;val_t&gt;;
  
      val_t m_value;
  public:
      fact_t(val_t &amp;&amp;value) : m_value{std::forward&lt;val_t&gt;(value)} {}
      fact_t(fact_t &amp;&amp;) = default;
  };
  </code></pre>
  
  <p><strong>Will <code>fact_t</code> have an implicit copy constructor?</strong> (GCC 7)</p>