1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class PixelInpaint{
public:
PixelInpaint();
PixelInpaint(float priorite): priorite (priorite) {};
float getPriorite(){return priorite;};
void setPriorite(float p){priorite=p;};
protected:
float priorite;
};
struct TriParPriorite
{
inline bool operator ()( PixelInpaint p1, PixelInpaint p2)
{
return p1.getPriorite() < p2.getPriorite();
}
};
int main()
{
PixelInpaint pi1(2.0);
PixelInpaint pi2(5.0);
PixelInpaint pi3(1.0);
PixelInpaint pi4(3.0);
vector <PixelInpaint> monVector;
monVector.push_back (PixelInpaint (pi1));
monVector.push_back (PixelInpaint (pi2));
monVector.push_back (PixelInpaint (pi3));
monVector.push_back (PixelInpaint (pi4));
cout << monVector.back().getPriorite() << endl; // fonctionne
for(vector<PixelInpaint>::iterator i = monVector.begin(); i != monVector.end(); ++i)
cout<< i.getPriorite() <<endl; // ne fonctionne pas
sort (monVector.begin(), monVector.end(), TriParPriorite()); // fonctionne
cout << monVector.back().getPriorite() << endl; // fonctionne
system("pause");
} |
Partager