Code:
#include <iostream>
#include <vector>
#include <algorithm>
class MyObject
{
int m_x;
public:
MyObject& operator=(int x)
{
m_x = x;
return *this;
}
bool operator<(const MyObject& rhs)
{
return (m_x < rhs.m_x);
}
void Print()
{
std::cout << m_x << " ";
}
};
int main(void)
{
std::vector<MyObject> vec(4);
int i;
vec[0] = 8;
vec[1] = 5;
vec[2] = 0;
vec[3] = 2;
for(i = 0;i < vec.size();++i)
{
vec[i].Print();
}
std::cout << std::endl;
std::sort(vec.begin(),vec.end());
for(i = 0;i < vec.size();++i)
{
vec[i].Print();
}
std::cout << std::endl;
return 0;
}