0

我想知道是否可以使用字符串流在循环中创建链接到我的类的变量名?

例如我有这个:

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

   button.function_name();
}

当我尝试它时,我无法访问该类的功能。

该功能不可用......所以我想知道我是否只是覆盖字符串流。如果我有办法做我想做的事吗?

4

2 回答 2

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]另一个变量等等。这样,您就有了六个变量。

于 2012-11-15T05:44:18.393 回答
3

稍微增强你的代码,这是你想要做的吗?

#include <vector>
std::vector<CreateButton> buttons;

// create buttons
for(int i=1; i<6; i++){
   std::stringstream ss;
   ss<< "Button" << i;
   buttons.emplace_back(CreateButton(ss.str()));
}

// use buttons
for(int i=1; i<6; i++){
  buttons[i].function_name();
};
于 2012-11-15T05:40:25.603 回答