you would have your bullets stored in a container of some sort, lets say, they are represented by a data structure called "BULLET"...you could have a vector of bullets like this :
#include <vector>
struct BULLET
{
int ID;
float x, y, z;
BULLET() { x = y = z = 0.0f; }
};
std::vector<BULLET> bullets;
then you would put some bullets in :
for(int i = 0; i < 9; ++i)
{
bullets.pushback(BULLET());
bullets[i].ID = i+1;
dbMakeObjectSphere(i+1, 1.0);
}
that would provide you with a vector of 10 BULLET objects.
you could then iterate through it when you wanted to move them :
for(int i = 0; i < (int)bullets.size(); ++i)
{
dbMoveObject(bullets[i].ID, 1.0);
}
Above is just a very simple way to iterate through a container of objects...(im pretty sure its syntax correct but ive just typed it off the top off my head-use it as an example, I dont think its a very good way to do it, but its easy to expand on the concept)
Of course, a better way would be to build all of the functions that the bullets need into the BULLET structure and just iterate through them once to call an "update" function, that would move them and check for collision and whatever else you wanted them to do.
If it ain't broke.... DONT FIX IT !!!