私は C++ プロジェクトに取り組んでおり、具体的には分水車アルゴリズムを実装しています。
タイプ スーパー クラスの のベクトルを作成する関数がありますshared_ptr
が、このベクトルにプッシュされるクラスはすべて基底クラスshared_ptr
です。
次に、このベクトルを取得して別の関数に渡し、for ループでベクトルの各要素に対して異なるロジックを実行する必要があります。ただし、実行するロジックは、ベクターの各要素に存在する基本クラスによって異なります。
したがって、基本的に私が知らないのは、ベクターの各要素に含まれる基本クラスのタイプを識別する方法です。私がデバッグすると、それらはすべてタイプスーパークラスとして出てきます。
したがって、一般的には次のようなことをしたいと思います。
if(vectorElement == baseClass)
{
//do some logic
}
または、私が行方不明になっているこれを実行する別の方法がある場合は、それを実行することに興味があります。