我是c ++的新手,仍在努力弄清楚事情是如何运作的。 这是我的代码。
Myclass class1("John", "Jones", 1234);
Myclass class2("Michael", "Williams", 2256);
Myclass class3("Robert", "Smith", 3568);
vector<Myclass>vec;
vec.push_back(class1);
vec.push_back(class2);
vec.push_back(class3);
Myclass O1("Michael", "Williams", 2256);
vector<Myclass>::iterator it = find(vec.begin(), vec.end(), O1); //error happens here
if(it == vec.end()){
cout<<"object found"<<endl;
}else{
cout<<"object not found"<<endl;
}
我希望能够检查向量中是否存在O1的对象,如果它存在,我希望它输出“对象存在”。
这是我的运营商重载
friend bool operator==(Myclass& a, Myclass& b)
{
if(a.name == b.name && a.lastName == b.lastName && a.Id == b.Id)
return true;
else
return false;
}
输出应该是:
object found