Ich habe ein Struktur der Person, die zwei Werte enthält - ersten und ersten Vornamen.C++ Finde Objekt Mitglied Wert in Vektor
Es gibt einen Vektor dieser Person Structs.
Ich muss durch den Vektor suchen, um die erste Person mit der passenden ersten Initiale zu finden und den Vornamen von diesem Struct abzurufen.
Meine Forschung unterstreicht die Notwendigkeit, einen überladenen Operator für die Person Struct zu verwenden, aber ich brauche einige Anleitung.
Hinweis: Kann nur einen Vektor und find() Algorithmus verwenden. Kann Boost nicht verwenden.
#include <stdio.h>
#include <iostream>
#include <stdexcept>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;
struct person
{
char firstInitial;
string firstName;
person(const char fi, const string fn)
{
firstInitial = fi;
firstName = fn;
};
char getInitial()
{
return firstInitial;
};
string getName()
{
return firstName;
};
bool operator==(const person& l, const person& r) const
{
return l.firstInitial == r.firstInitial;
}
};
int main (int argc, char *argv[])
{
vector<person> myvector;
vector<person>::iterator itr;
myvector.push_back(person('j', "john"));
myvector.push_back(person('s', "steve"));
myvector.push_back(person('c', "candice"));
itr = find (myvector.begin(), myvector.end(), itr->getInitial() == 's');
if (itr != myvector.end())
cout << "First Name: " << itr->getName() << '\n';
else
cout << "NOT Found" << '\n';
}