#include <stl.h>
#include <iostream.h>
class X
{
public:
X (int i_) : i (i_) {}
~X () { cout << "Delete X(" << i << ")" << endl; }
int i;
};
ostream& operator << (ostream& stream_, const X& x_)
{
return stream_ << "X(" << x_.i << ")";
}
int main ()
{
vector<X*> v;
v.push_back (new X (2));
v.push_back (new X (1));
v.push_back (new X (4));
vector<X*>::iterator i;
for (i = v.begin (); i != v.end (); i++)
cout << *(*i) << endl;
release (v.begin (), v.end ()); // Delete heap-based objects.
return 0;
}