title: c++ 11 =default keyword on virtual function for specifying default pure implementation
body: <p>I am curious why, in C++ 11, use of "= default" on a derived virtual method does not select the pure base class implementation. </p>
  
  <p>For example, the following test code produces the message "error: 'virtual void B::tst()' cannot be defaulted" from "g++ -std=c++11". </p>
  
  <pre><code>struct A {
    virtual ~A () = default;
    virtual void tst () = 0;
  };
  
  void A :: tst () {}
  
  struct B : public A {
    virtual void tst () = default;
  };
  </code></pre>
  
  <p>We can of course provide a B::tst that invokes the default base implementation, but one is concerned that this might be the higher overhead implementation compared to a hypothetical "= default" based coding. </p>
  
  <p>Sorry to ask questions about what might or might not be within the minds of the c++ standards committee persons, but nevertheless perhaps someone here at stack overflow will have some wisdom concerning the impracticality of using the default keyword in this way that would be interesting to hear.</p>
  
  <p>Thanks!</p>