#include #include #include "Person.h" void init(vector& v) { v.push_back(Person("Marie", "Curie", Gender::F)); v.push_back(Person("Agatha", "Cristie", Gender::F)); v.push_back(Person("Biden", "Joe", Gender::M)); v.push_back(Person("Tom", "Cruise", Gender::M)); v.push_back(Person("Julia", "Child", Gender::F)); v.push_back(Person("Ron", "Mak", Gender::M)); } vector select(const vector people, bool matches(const Person &p)) { vector selected; for (const Person& p : people) if (matches(p)) selected.push_back(p); return selected; } int main() { vector people; init(people); cout << "Males:" << endl; vector males = select(people, [] (const Person &p) -> bool { return p.gender == Gender::M; }); for (Person& p : males) cout << p << endl; cout << endl << "Last name starts with C:" << endl; vector cs = select(people, [] (const Person &p) -> bool { return p.last[0] == 'C'; }); for (Person& p : cs) cout << p << endl; }