How to specify template argument for a function in a child? <p>So I try:</p> <pre><code>class data_ppp { public: template &lt;class T&gt; virtual boost::shared_ptr&lt;T&gt; getData() { return boost::shared_ptr&lt;T&gt;(new T()); } }; class data_child : public data_ppp { public: template&lt;&gt; getData&lt;std::vector&lt;int&gt;&gt;(); }; </code></pre> <p>but cant get desired effect - I want to have in class data_child getData function that would only return <code>boost::shared_ptr&lt;std::vector&lt;int&gt;&gt;</code>. How to do such thing?</p>