可以说我有3种不同的职业:装备,武器和工具。武器和工具继承了装备。我创建了一个Weapon或Tool对象,并将其添加到Equipment数组。检索对象时,如何编写“IF”语句以检查该对象是武器还是工具?
谢谢
最佳答案
使用dynamic_cast,如下所示:
Equipment *pMyObj = ... //got it somewhere
Weapon *pWeapon = dynamic_cast<Weapon *>(pMyObj);
if( pWeapon != NULL ){
//you have weapon
}