我正在使用Visual Studio 2015 ++学习C ++
我正在研究它,我无法通过一些东西。也许你可以给我一个更好的见解。
我学到了关于类,结构,数组和函数的一些东西。
我想创建一个使用多个玩家的程序,但它可以从2-4变化(例如:
class Player{
public:
Player(){
hp=5;
mana=10;
alive=false;
};
int hp;
int mana;
bool alive;
};
int _tmain(int argc, _TCHAR* argv[])
{
// data here //
retry:
cin >> numberofPlayers;
if (numberofPlayers < 2 || numberofPlayers>4)
{
cout << "That's Impossible! Don't mock me!" << endl;
goto retry;
}
else
{
cout << "Great!" << endl;
}
所以在它之后,我想创建一个向量指针对象,它将存储不同的玩家变量。
e.g:
这里我的问题开始了:)
Player* pointerplayer = new Player();
vector<Player*> vectorPlayer;
Player* pointerplayer = new Player();
for (int i = 0; i < numberofPlayers; i++)
{
vectorPlayer.push_back(new Player());
cout << vectorPlayer[i] << endl;
}
我的问题是当我试图看到输出时,我猜指针的地址。
01639B40
01643F98
01643C80
我希望输出类似于:
1
2
3
我知道我没有做到这一点,但有些东西正在逃避我,我无法真实地看到它。
因为我想创建2-4个玩家,这是基于用户输入。并为每个玩家创建一个Player(),其中包含每个玩家的所有变量。和(1,2,3,4)的输出取决于数字。
答案 0 :(得分:0)
将您的cout语句更改为:
cout << (i + 1) << endl;