title: C++ Method Inheritance Help
body: <p>I have a <code>Graphic</code> class that handles the drawing of an <code>Item</code>, and so all of my <code>Item</code> classes will inherit it.</p>
  
  <p>In essence, I have a <code>Graphic::Draw(type argX, type argY)</code> method, that requires <code>argX</code> and <code>argY</code> to be passed to it by the <code>Item</code> method.</p>
  
  <p>So think I could easily have an <code>Item::DrawMe()</code> method like this:</p>
  
  <pre><code>class Graphic {
      ...
      void Draw(type argX, type argY)
      {
          // drawing code
      }
      ...
  }
  
  
  class Item : public Graphic {
      ...
      type mX;
      type mY;
      ...
      void DrawMe() : Draw(this-&gt;mX, this-&gt;mY) { }
      ...
  };
  </code></pre>
  
  <p>But I would rather have the <code>Item::DrawMe()</code> method named <code>Item::Draw()</code> instead. However, then the <code>Item::Draw()</code> method would then have the same name as the <code>Graphic::Draw</code> method. But I can't use a <code>virtual</code> base method, because I don't want to overwrite the body of the function obviously...</p>
  
  <p>So how should I do this? Thanks.</p>