我可能会以一种奇怪的方式问这个问题,但我不确定还能怎么问。
我想要一个类列表,而不是对象列表。 这样我就可以调用静态函数而无需创建对象。
最佳答案
此时我真的更喜欢函数指针:
struct A
{
void SomeFunc(int);
};
struct B
{
void AnotherFunc(int);
};
typedef void (*Function)(int);
std::vector<Function> vec;
vec.push_back(A::SomeFunc); vec.push_back(B::AnotherFunc);
for (Function f: vec)
{
f(2);
}
请注意,静态函数或多或少等同于传统的 C 函数(它只需要访问更多范围)。
关于c++类列表,无需初始化它们以使用静态函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835383/