#include <boost/shared_ptr.hpp>
#include <vector>
#include <iostream>
using namespace boost;
using namespace std;
class Test
{
private:
int a;
int b;
public:
void Show()
{
cout << a << b << endl;
}
Test(int a1, int b1)
{
a = a1;
b = b1;
}
~Test()
{
cout << a << b << "destroy \n";
}
};
typedef shared_ptr<Test> TestPtr;
int main()
{
vector<TestPtr> con;
TestPtr test1( new Test(1,2) );
TestPtr test2( new Test(3,4) );
TestPtr test3( new Test(5,6) );
TestPtr test4( new Test(7,8) );
con.push_back(test1);
con.push_back(test2);
con.push_back(test3);
con.push_back(test4);
for(int i = 0 ; i < con.size() ; ++i)
con[i]->Show();
return 0;
}