首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过用户输入指向对象的C++向量

通过用户输入指向对象的C++向量
EN

Stack Overflow用户
提问于 2017-04-18 19:11:35
回答 1查看 160关注 0票数 0

我正在使用Visual 2015 C++学习++

我在学习,我不能再经历一些事情了。也许你可以给我一个更好的见解。

我学到了一些关于类、结构、数组和函数的东西。

我想要创建一个使用多个播放器的程序,但它可以从2-4 (例如:

代码语言:javascript
复制
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;
    }

在此之后,我想要创建一个向量指针到对象,它将存储不同的玩家变量。

例如:

在这里,我的问题开始:)

代码语言:javascript
复制
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;
}

我的问题是,当我试图看到输出时,我猜指针的地址。

代码语言:javascript
复制
01639B40
01643F98
01643C80

我希望输出是这样的:

代码语言:javascript
复制
1 
2
3

我意识到我并没有这么做,但是有东西在逃避着我,我无法清楚地看到它。

因为我想在2-4个玩家之间创建,这是基于用户的输入。对于每个播放器,创建一个包含每个播放器的所有变量的Player()。和输出的(1,2,3,4)取决于数量。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-18 20:03:56

将cout语句更改为:

代码语言:javascript
复制
cout << (i + 1) << endl;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43480401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档