因此,我尝试了所有类型的组合,但是我想对向量的标题进行排序,但我无法找到它们。我的问题是,如何使排序与标题一起使用?
class Seminar
public:
Seminar(int number = 0, string date = "yyyy-mm-dd" , string title = "")
{
Number = number;
Date = date;
Title = title;
}
int get_number() const {return Number; }
string get_date() const {return Date; }
string get_title() const {return Title; }
private:
int Number; // Seminar number
string Date; // Date of Seminar
string Title; // Title of Seminar
}
长话短说,程序将读取一个文件并将信息推送到向量中。例如:
Seminar s(integers, calendar, line);
All.push_back(s);
vector<Seminar> All;
vector<Seminar>::iterator it;
if(Letter == "F" || Letter == "f")
{
sort(All.begin(), All.end(), ?? );
for(it = All.begin(); it != All.end(); it++)
{
cout << it->get_title() << endl;
}
}
最佳答案
一种简单的方法是为您的operator<()
类实现Seminar
。那么默认的sort
算法将使用它并做正确的事情,类似这样的事情应该起作用:
bool operator<(const Seminar &s1, const Seminar &s2) {
return s1.get_title() < s2.get_title();
}