gpt4 book ai didi

c++ - 在 C++ 中打印对象列表

转载 作者:行者123 更新时间:2023-11-30 01:24:38 25 4
gpt4 key购买 nike

<分区>

我想知道是否有人能够帮助我打印出自定义类的列表(第一次使用容器)。

目前我有一个变量声明为:

std::list<Item> inventory;

在一个名为 player 的类中。

现在我在类(播放器)中创建了一个名为 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;
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com