2012-11-15 155 views
0

我想知道是否有可能創建變量名稱鏈接到我的類在循環中使用stringstream?循環中創建的變量名稱?

例如,我有這樣的:

for(int i=1; i<6; i++){ 
    std::stringstream button; 
    button << "Button" << i; 
    CreateButton button(); 

    button.function_name(); 
} 

當我嘗試它,我無法訪問函數,該函數的類。

該功能不可用...所以我想知道如果我只是覆蓋字符串流。如果我有辦法做我想做的事情?

+6

看起來你需要一個數組('std :: vector')。 – chris

+1

你在哪裏存儲按鈕? – billz

+0

@billz它在for循環中創建(我應該提到,'button.function_name();'也在循環中,我會在我的問題中更清楚地說明)。 – Sir

回答

4

你想要一個數組或向量的按鈕。

#include <vector> //must include this 

std::vector<CreateButton> buttons(6); 

for(int i= 0; i<6; i++) 
{ 
    button[i].function_name(); 
} 

在這裏,你能想到的button[0]作爲一個變量,button[1]作爲另一個變量,button[2]作爲另一個變量,依此類推。這樣,你有六個變量。

+1

啊優秀多數民衆贊成我所期待的:D很高興有人瞭解 - 這很難解釋! – Sir

3

增強你的代碼有點,這是你正在嘗試做什麼?

+1

不是嗎?我不解析數據經過 - 我打算,但我嘗試了在每次循環類中創建一個獨特的名字,所以我有BUTTON1 BUTTON2 BUTTON3,所有鏈接到同一類,那麼它們的所有設置和提供利用我腳本。 – Sir

+2

@Dave,'std :: vector 按鈕(5);'對於'button1',使用'button [0]'。對於'button2',使用'button [1]'。如你所願添加到矢量。 – chris

+0

@chris yeh我現在明白了 - 我想有些人誤解了我的意思! – Sir