Object Functions in Use

Object Functions in Use

An object function is a regular C++ object whose class defines the () operator. An object with a () operator can be called like a function:

CFoo foo; // just an object whose class has operator() definedfoo(); // like a function; makes operator() work

You can use an object function to find the first occurence of a string started by a given symbol in a vector:

#include #include #include #include using namespace std;class starts {	char ch;public:	starts(char c) : ch(c) {}	bool operator() (const string &s) {		return s.size() && s[0] == ch;	}};int main(){	vector vec(3); // vector of three elements	vec[0] = "sir";	vec[1] = "zebra";	vec[2] = "home";	vector::iterator iter =		find_if(vec.begin(), vec.end(), starts('z'));	cout 


Share the Post: