2 つのインスタンスが同じ派生クラスかどうかを確認する方法はありますか? 何かのようなもの:
Base *inst1 = new A();
Base *inst2 = new B();
Base *inst3 = new A();
bool b1 = (inst1->class== inst2->class); //<-- should evaluate to false
bool b1 = (inst2->class== inst3->class); //<-- should evaluate to true
明らかに、基本クラスに仮想関数を追加し、各派生クラスを実装して一意の値を返すことができます。ただし、この基本クラスからの派生に基づいて API を作成しているため、派生クラスに固有のものを実装する必要はありません。