title: stl vector.push_back() abstract class doesn't compile
body: <p>Let's say I have an stl vector containing class type "xx". xx is abstract. I have run into the issue where the compiler won't let me "instantiate" when i do something like the following:</p>
  
  <pre><code>std::vector&lt;xx&gt; victor;
  void pusher(xx&amp; thing)
  {
      victor.push_back(thing);
  }
  
  void main()
  {
      ;
  }
  </code></pre>
  
  <p>I assume this is because the copy constructor must be called. I have gotten around this issue by storing xx*'s in the vector rather than xx's. Is there a better solution? What is it?</p>