title: Override number of parameters of pure virtual functions
body: <p>I have implemented the following interface:</p>
  
  <pre><code>template &lt;typename T&gt;
  class Variable
  {
  public:
    Variable (T v) : m_value (v) {}
    virtual void Callback () = 0;
  private:
    T m_value;
  };
  </code></pre>
  
  <p>A proper derived class would be defined like this:</p>
  
  <pre><code>class Derived : public Variable&lt;int&gt;
  {
  public:
    Derived (int v) : Variable&lt;int&gt; (v) {}
    void Callback () {}
  };
  </code></pre>
  
  <p>However, I would like to derive classes where <code>Callback</code> accepts different parameters (eg: <code>void Callback (int a, int b))</code>.
  Is there a way to do it?</p>