これらのクラスを検討してください(簡略化)
class Character
{
public:
char name[20];
char type[20];
int strength;
};
class inventoryItem
{
public:
char name[20];
};
class weapon: public inventoryItem
{
public:
int magical resistance;
};
class spell: public inventoryItem
{
public:
int magical power;
};
リンクリストのクラスを作成しました(stlリストの使用は許可されていません)
class list
{
public:
struct listItem
{
listItem* objectPointer;
listItem* pnext;
}*phead;
list()
{
phead=NULL;
}
bool isEmpty(){
if (!phead)
return true;
else
return false;
}
void addToBack(listItem *itemtoadd)
{
listItem *ptemp;
listItem *ppast;
listItem *pNewItem;
pNewItem=new listItem();
pNewItem->objectPointer=itemtoadd;
pNewItem->pnext=NULL;
if (phead==NULL)
phead=itemtoadd;
else
{
ptemp=phead;
while(ptemp)
{
ptemp= ptemp->pnext;
}
ptemp->pnext=itemtoadd;
}
}
};
私はこれを大幅に削減しましたが、私の質問は、同じリストクラスを使用してこれらすべてのリンクリストを作成する簡単な方法はありますか?または私は自分の時間を無駄にしていますか?
ポインターを「weapon」タイプから「listitem」タイプに変換できないようにするたびに
、キャラクターのリストと、そのキャラクターの各武器またはスペルのリストが必要
です。私はまだOOPとポインター、プログラムの初心者です。私は今コンパイルし、動作している文字のリストを持っていますが、リストは他のいくつかの関数内で管理されているクラスによって管理されていません、私は1つのクラスがそれをすべて処理する方法があることを望んでいます、誰かがそれを説明するのを手伝ってもらえますか私に ?