#include "A.h"

typedef std::vector<A::B*>::iterator MyIter;

A::A()
{
	for (int i = 0; i < 10; i++)
	{
		vec.push_back(new B());
	}
}

A::~A()
{
	while(! vec.empty() )
	{
		B* pB = vec.back();
		vec.pop_back();
		delete pB;
	}
}


void A::print()
{
#if 1
	int i;
	MyIter iter;
	for (iter = vec.begin(), i = 0;
			iter != vec.end();
			iter++, i++)
	{
		int num = (*iter)->getNum();
		std::cout << i << "\t" << num << std::endl;
	}
#else
	for (unsigned int i = 0; i < vec.size(); i++)
	{
		int num = vec[i]->getNum();
		std::cout << i << "\t" << num << std::endl;
	}
#endif
}


A::B::B()
{
	num = abs(rand()) % 100;
}

A::B::~B()
{
}

int A::B::getNum()
{
	return num;
}

