Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: C++
Expertise: Intermediate
Sep 19, 2006

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() defined
foo(); // 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 <algorithm>
#include <iostream>
#include <string>
#include <vector>
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<string> vec(3); // vector of three elements
	vec[0] = "sir";
	vec[1] = "zebra";
	vec[2] = "home";
	vector<string>::iterator iter =
		find_if(vec.begin(), vec.end(), starts('z'));
	cout << *iter << "\n";
	return 0;
}
Arman Sahakyan
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap