別のクラスのメソッドをオーバーライドする方法は?状況は次のとおりです。
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;
}
ここで、soccerPlayerクラスのfootクラスのKick()メソッドを、次のメソッドでのみオーバーライドしたいと思います(構文が正しくないことを理解しています)。
soccerPlayer::foot::Kick() { expertKick(); }
C ++で可能ですか?このような状況に対する最善の回避策は何ですか?
ps:foot :: Kick();の実装ごとに派生クラスを作成する余裕はありません。