因此,我尝试了所有类型的组合,但是我想对向量的标题进行排序,但我无法找到它们。我的问题是,如何使排序与标题一起使用?

  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();
}

09-28 04:41