私は2つのクラスがあるとします。私はを目指ししようとしています何進化したクラスをシミュレートするための最良のプログラミング方法は何ですか?
class SwordsMan{
/*...*/
virtual SwordsMan* evolve()
};
class Warrior: public SwordsMan{
/*...*/
};
は、彼は十分な経験を持っていたら、剣士が戦士に進化ということです。一度彼が進化した "この" SwordsManオブジェクトを削除したい場合、このevolve()関数を実装するためのベストプラクティスは何でしょうか?
「剣士」が「戦士」に進化する方法に完全に依存します。 Btw私は二度と、相続が正しい方法であると思うでしょう。たぶん「戦士」は「剣士」が持つことができるタイトルなのかもしれません – user463035818
私が間違っていると私を訂正しますが、戦士には通常の剣士が持たない追加の能力と特性があるので(剣士の能力)、継承が行く方法でしょう。また、なぜダウン投票? – AspiringMat