そこで、オブジェクトがポーションなのか武器なのかをテストしたいと思います。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--;
}
}