我想知道是否有人能夠幫助我打印自定義類的列表(首次使用容器)。在C++中打印對象列表
目前,我有一個變量聲明爲:
std::list<Item> inventory;
一類叫做播放器中。
現在我創建了一個名爲void printInventory();
的類(播放器)中的函數。
所以我的問題是如何去打印列表中的內容。
我的Item
類包含3個變量;
std::string name;
int damage;
int value;
我也有一個函數來打印這些變量void itemDetails();
任何幫助深表感謝。
編輯:
我知道已經解決了我的問題,感謝提供的答案,這是我做的:
重載在項目類輸出操作:
ostream& operator<<(ostream& os, const Item& item)
{
if (item.getTypeInt() == 0)
{
os << "Name: " << item.getName() << endl
<< "Type: " << item.getTypeString() << endl
<< "Damage: " << item.getDamage()<< endl
<< "Value: " << item.getValue() << endl;
}
else
{
os << "Name: " << item.getName() << endl
<< "Type: " << item.getTypeString() << endl
<< "HP: " << item.getHP()<< endl
<< "Value: " << item.getValue() << endl;
}
return os;
}
然後我使用其中一個答案,但修改它,所以它沒有宣佈另一個變量:
void Player::printInventory()
{
for(std::list<Item>::iterator it = inventory.begin(); it!= inventory.end(); ++it)
{
cout << *it;
}
cout <<"Inventroy Printed!!"<<endl;
}
[你有什麼嘗試?](http://whathaveyoutried.com) –