在程序运行时如何创建新变量或对象?(C++)

Ben*_*n L 1 c++ variables class object

我对 C++ 和一般编程非常陌生,所以我一直在寻找简单的场景来测试自己。我想制作一个程序,允许用户输入游戏中角色的基本数据,但我意识到我无法允许用户输入他们想要的角色数量。它们将仅限于我目前允许的范围。我的问题是:当用户完成一个角色并准备创建另一个角色时,我将如何使用什么样的代码来生成该类的另一个对象?如果这些都没有任何意义的话,这是我的代码:

#include <iostream>

using namespace std;

class character {
    public:
        string name;
        string playerClass;
        int health;
};

int main() {
    character character1;

    cout << "What is your character's name?";
    cin >> character1.name;
    cout << "What class is your character?";
    cin >> character1.playerClass;
    cout << "How much health does your character have?";
    cin >> character1.health;

    //Display info, ask if user wants to make more characters.

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Pau*_*zie 5

当用户完成一个角色并准备创建另一个角色时,我将如何使用什么样的代码来生成该类的另一个对象?

使用 std::vector<character>

#include <vector>
//...
int main() {
    std::vector<character> vCharacters;
    bool enter_more = true;

    while (enter_more)
    {
       character character1;
       cout << "What is your character's name?";
       cin >> character1.name;
       cout << "What class is your character?";
       cin >> character1.playerClass;
       cout << "How much health does your character have?";
       cin >> character1.health;

       // add new character to vector
       vCharacters.push_back(character1);

       //Display info, ask if user wants to make more characters.
       if ( !user_wants_more_input() )
           enter_more = false;
    }
    // now vCharacters has all the characters entered
    return 0;
}
Run Code Online (Sandbox Code Playgroud)