所以我想测试我的对象是药水还是武器。我如何使用 typeid (即或任何与此相关的东西)来做到这一点?
然后我想根据这个条件实例化一个对象。我不能只说 T temp 因为那会实例化一个抽象基类(即我的 Item 类中有一个纯虚函数)。
template <typename T>
void List<T>::Load(std::ifstream & file)
{
//Read the number of elements
file.read(reinterpret_cast<char *>(&mNumberOfNodes), sizeof(int));
//Insert nodes into list
//If object is a potion
//T * temp = new Potion;
//If object is a weapon
//T * temp = new Weapon;
for( int i = 0; i < mNumberOfNodes; i++ )
{
temp->Load(file);
this->PushFront(&temp);
mNumberOfNodes--;
mNumberOfNodes--;
}
}