title: C++ Method Overriding from another Class in Composition
body: <p>How to override a method from another class?
  The situation is the following:</p>
  
  <pre><code>class foot:
  {
      void kick() { clumsyKick(); };
  }
  
  class person: /* Person has Foot */
  {
      foot *personsFoot;
  }
  
  class soccerPlayer: /* SoccerPlayer has Foot too, but his foot is better */
  {
      foot *soccerPlayerFoot;
  }
  </code></pre>
  
  <p>Now I want to override the foot class Kick() method for the soccerPlayer class only with the following method (I understand syntax is not correct bellow):</p>
  
  <pre><code>soccerPlayer::foot::Kick() { expertKick(); }
  </code></pre>
  
  <p>Is it possible in C++? <strong>What is the best workaround for such a situation?</strong></p>
  
  <p>ps: I can't afford to create a derived class for each implementation of foot::Kick();</p>