在向量内调用对象的成员函数

时间:2011-04-29 21:42:12

标签: c++ object vector private members

这是我之前关于retrieving and editing private members of objects in a vector的问题的延续。

我有一个向量的对象,其中包含我需要访问的私有成员。 我创建了用于返回每个私有成员的访问器函数,现在正在寻找迭代对象向量的最佳方法,从中返回特定的私有成员并将其与给定变量进行比较,直到找到匹配为止。 /强>

我考虑过使用find_if,但是对于向量中的每个对象使用成员函数返回值作为标准,我们没有运气。

我也没有能够使用for_each来完成这项工作。

我之所以要提出一个额外的问题,是因为我一直在为这个问题停留的时间比我应该更长,而且我找到解决问题的方法变得非常紧迫。任何朝着正确方向的推动都将非常感激!

1 个答案:

答案 0 :(得分:2)

创建一个仿函数:

struct CompareTo{
    CompareTo(const AnotherObject& aValue) : theValue(aValue){}

    bool operator()(const Object& anObject) const{
        return anObject.getMemberVar() == theValue;
    }

    const AnotherObject& theValue;
};

可以放入find_if