title: Choosing which base class to override method of
body: <p>Given the following:</p>
  
  <pre><code>class Observer
  {
      public:
          virtual void Observe(Parameter p) = 0;
  };
  
  template&lt;size_t Tag&gt;
  class TaggedObserver : public Observer { };
  
  class Thing : public TaggedObserver&lt;0&gt;, TaggedObserver&lt;1&gt;
  {
      public:
          virtual void Observe(Parameter p) override;
  };
  </code></pre>
  
  <p><code>Thing::Observe</code> overrides both <code>TaggedObserver&lt;0&gt;::Observe</code> and <code>TaggedObserver&lt;1&gt;::Observe</code>.<br>
  Is there a way to provide a different override for each base class?<br>
  Rationale: I want the class to be able to observe two notification sources of the same type with different actions for each source without having to resort to pass the source in the parameter and then checking it in an <code>if</code>/<code>switch</code>.</p>