希望这个问题之前没有得到解答,环顾四周也没有找到。想知道如何根据用户输入访问特定的类对象。有点类似于您将根据用户的输入访问数组特定索引的值并转到该索引。
我不完全确定我会看到什么,因为没有像数组中那样的可访问整数。对于编程来说还比较陌生,如果我说的不对,请见谅。
class Hams {
public:
string name;
};
int main()
{
int userNum;
Hams ham1;
ham1.name = "Porky";
Hams ham2;
ham2.name = "Wilbur";
Hams ham3;
ham3.name = "Piglet";
cout << "Enter num of pig you want to know the name of: ";
cin >> userNum;
//Output the correct name
}
如果用户输入 3,那么输出应该是“Piglet”。
cout << ham(userNum).name << endl;
我知道这段代码不正确,但它是我如何最好地表达我想做的事情。
除了像下面这样的 if 语句之外,有没有办法做到这一点或类似的事情?
if (userNum == 3) {
print(ham3.name);
}
最佳答案
这是一种方法:
std::array<std::string, 3> pigs = {"Porky", "Wilbur", "Piglet"};
int userNum;
std::cout << "Enter num of pig you want to know the name of: ";
std::cin >> userNum;
std::cout << pigs[userNum-1] << std::endl;
编辑* 为了更准确地说明您的用例,这是另一个示例:
class Hams {
public:
std::string name;
};
int main()
{
std::array<Hams, 3> pigs = {"Porky", "Wilbur", "Piglet"};
int userNum;
std::cout << "Enter num of pig you want to know the name of: ";
std::cin >> userNum;
std::cout << pigs[userNum-1].name << std::endl;
}
关于c++ - 有没有办法根据用户的输入访问类对象的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56695279/