有没有办法检查两个实例是否是同一个派生类?就像是:
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。