2012-11-15 79 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