2017-03-04 93 views
-1

这是在C++ 例如个人使用的应用程序:有没有办法让用户选择要输入的变量?

class x     
{...}; 
int main() 
{ 

string userinput; 

cin>>userinput; 

cin>>x."userinput";} 

是这样的可能吗?

+0

如果我正确理解你的问题。您需要为'class x'重载'operator >>'。 –

+0

如果我正确理解你的问题:没有这样的事情是不可能的,因为C++没有任何运行时反射设施。 –

+1

它可能是一个哈希表。而不是变量你只是使用散列索引 – Psi

回答

0

如果你正在谈论的是允许用户在运行时设置变量名,那么没有。这在C++中是不可能的。根据你想要达到的目标,有几种解决方法。

如果你只需要用户能够访问一个小数目的变量,所有的手之前是已知的,可以使用switch声明,或一堆if/elseif小号

如果您需要存储大量变量,其中编号时可能不知道的变量数量,则存在许多仅用于此目的的数据结构。上面有数组,哈希表,链表和数百个变体。然而,这些都是太复杂的话题,只能在一个答案中涵盖。

+0

不,我想在运行时设置变量名我想在运行时输入一个特定的变量,这是我选择的。使用switch case/if-else是我考虑过的事情,但我可能会有更好的解决方案,所以我在这里问了一下。我会研究哈希表并尝试实现它。谢谢您的帮助! – nunya

相关问题