私にはクラスがあり、このクラスには番号が含まれています。そして、私はベクトルにクラスのオブジェクトポインタが含まれています。そして、そのオブジェクトを番号に従って並べ替えたいと思います。これどうやってするの?回答ありがとうございます。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Course
{
public:
Course (int code, string const& name) : name(n), code(c) {}
int getCourseCode() const { return code; }
string const& getName() const { return name; }
private:
string name;
int code;
};
int main()
{
vector<Course*> cor;
vector<Course*>::iterator itcor;
cor.push_back(new Course(3,"first"));
cor.push_back(new Course(2,"sekond"));
cor.push_back(new Course(4,"third"));
cor.push_back(new Course(1,"fourth"));
cor.push_back(new Course(5,"fifth"));
sort (cor.begin(), cor.end());
for (itcor=cor.begin(); itcor!=cor.end(); ++itcor) {
cout << *itcor << ' ';
}
}
たとえば、オブジェクトを並べ替える場合は、アドレスに従って並べ替えます。