Container of template classes without template parameter
<p>I'm wondering if you can have a container with objects with varying template parameters.</p>

<p>I'm trying to achieve something like this:</p>

<pre><code>#include &lt;iostream&gt;
#include &lt;list&gt;

template &lt;class T&gt;
class base
{
    public:
        T val;
        base(T newVal): val(newVal) {}; 
};

class derived : public base&lt;int&gt;
{
    public:
        derived(int newVal): base(newVal) {}; 
};

int main ( void )
{
    std::list &lt; base&lt;?&gt; &gt; base_collection;
    return 0;
}
</code></pre>

<p>I want my current project to be as flexible and dynamic as possible, with little extra coding when a new derived class is necessary, and my current implementation makes it important that such a list exists.</p>

<p>Is there a commonly used, benefiting and clean way of achieving exactly this?</p>