Store class objects in a list.
#include <iostream> #include <list> #include <cstring> using namespace std; class myclass { int a, b; int sum; public: myclass() { a = b = 0; } myclass(int i, int j) { a = i; b = j; sum = a + b; } int getsum() { return sum; } friend bool operator<(const myclass &object1, const myclass &object2); friend bool operator>(const myclass &object1, const myclass &object2); friend bool operator==(const myclass &object1, const myclass &object2); friend bool operator!=(const myclass &object1, const myclass &object2); }; bool operator<(const myclass &object1, const myclass &object2) { return object1.sum < object2.sum; } bool operator>(const myclass &object1, const myclass &object2) { return object1.sum > object2.sum; } bool operator==(const myclass &object1, const myclass &object2) { return object1.sum == object2.sum; } bool operator!=(const myclass &object1, const myclass &object2) { return object1.sum != object2.sum; } int main() { int i; list<myclass> listObject1; for(i = 0; i < 10; i++) listObject1.push_back(myclass(i, i)); cout << "First list: "; list<myclass>::iterator p = listObject1.begin(); while(p != listObject1.end()) { cout << p->getsum() << " "; p++; } cout << endl; list<myclass> listObject2; for(i = 0; i < 10; i++) listObject2.push_back(myclass(i*2, i*3)); cout << "Second list: "; p = listObject2.begin(); while(p != listObject2.end()) { cout << p->getsum() << " "; p++; } cout << endl; listObject1.merge(listObject2); cout << "Merged list: "; p = listObject1.begin(); while(p != listObject1.end()) { cout << p->getsum() << " "; p++; } return 0; }