C ++如何为类的所有成员调用方法?

时间:2019-01-27 12:50:50

标签: c++ class

我有一堂课,会有很多成员,我想 为该类的所有成员调用一个方法,而不是 只是个人成员

我可以通过链接列表链接所有班级成员,但是有更好的方法吗?

2 个答案:

答案 0 :(得分:3)

做您想要的事情的最好方法是,如果您的元素(如您所称的memebres类)位于一个数组中,那么您可以像这样遍历它们,因此 我认为您想要与此类似的东西

#include <algorithm>
#include<vector>
class A {};

void doSomething(A member) {}
int main() {
    std::vector<A> Amemebers;
    std::for_each(Amemebers.begin(), Amemebers.end(), doSomething);
}

答案 1 :(得分:1)

C ++天真不支持反射。这意味着您无法获取类成员的列表。可能有用于此的外部库和工具,但是您不能在标准C ++中做到这一点。

所以您无法提出要求。您需要做的是将成员变量存储在某种容器中,例如std::vector