いくつかのクラスがあり、すべてがAnimalという名前の基本クラスから派生しているとしましょう。
Cat
Dog
Parrot
EveryAnimalInExistance
各クラスは、次のような独自の抽象メソッドのメソッドを実装します。
attack()
defend()
hunt()
breed()
次に、というメソッドがあります
observeAnimal(Animal* everyAnimalInExistance)
何千もの潜在的な範囲から潜在的な動物を渡すにはどうすればよいですか?
everyAnimalInExistance.hunt();
私が理解しているように、C ++では、オブジェクトは「スライス」され、基本クラスの独自のメソッドを呼び出そうとします。正しいメソッドを呼び出すには、型キャストが必要です。
RTTIは広大で多数あるため、プロジェクトのすべての環境でRTTIが利用できるかどうかはわかりませんが、私が取るべきアプローチについて誰かに教えてもらえますか?