@spartanPAGE a może być takie sortowanie? Dobrze to jest wykonane?
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Obj{
public:
Obj(int val);
int GetValue();
private:
int value;
};
Obj::Obj(int val){
value = val;
}
int Obj::GetValue(){
return value;
}
vector <Obj*> SortVector(vector <Obj> &vObj){
vector <Obj*> vPtr;
for(auto &ptr : vObj)
vPtr.push_back(&ptr);
sort(vPtr.begin(), vPtr.end(), [](Obj *ptr1, Obj *ptr2)->bool{return ptr1->GetValue() < ptr2->GetValue();});
return vPtr;
}
int main()
{
vector <Obj> myVect;
myVect.push_back(10);
myVect.push_back(23);
myVect.push_back(4);
myVect.push_back(18);
myVect.push_back(82);
vector <Obj*> myPtr = SortVector(myVect);
for(auto &p : myPtr)
cout << p->GetValue() << " ";
return 0;
}