我有课:
class MyClass {
public:
void SetName(std::string name) { Name = name; }
void SetAge(int age) { Age = age; }
void SetId(int id) { Id = id; }
void SetNationality(std::string nationality) { Nationality = nationality; }
//.. other set functions
std::string GetName() { return Name; }
int GetAge() { return Age; }
int GetId { return Id; }
//.... other Get functions
Private:
std::string Name;
int Age;
int Id;
std::string Nationality;
//... (many other variables)
};
然后我有一个函数用于制作和填充向量 ( std::vector<MyClass> MyVector
) 这个函数不是很重要,所以我没有在这里写。
然后我有我使用我的向量的功能:
void MyFun(std::vector<MyClass> vec)
{
// Now I need to print vector elements Age and Name
for (std::vector<MyClass>::iterator it = vec.begin(); it != vec.end(); it++) {
// but if vector has two or more elements which have same Name and Age,
// I print only the element which has the biggest Id and other elements I
// erase from vector
// if (...) {}
std::cout << it->GetName << " :Name; Age: " << it->GetAge << std::endl;
}
}
有人可以帮我吗?重要的是,如果元素的参数(年龄或名称)之一不同,那么我会打印矢量元素名称和年龄。其他变量值无关紧要。它们可以不同或相同。