2017-03-04 133 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

相關問題