int main()
{
std::vector<A*> a;
const int maxi = 100000;

for (int i = 0; i < maxi; i++)
if (std::rand() % 2)
a.push_back(new A);
else
a.push_back(new B);

int i;
std::accumulate(a.begin(), a.end(), 0, AddA);
std::cout << i << std::endl;
}